CodeBlanks Logo Icon CodeBlanks

Hata yönetimi

try/except ile girdi doğrulama eklersin.

Hata yönetimi: boş listeyi koru

Bu derste try/except ile boş liste hatasından korunacaksın. Boş bir liste üzerinde sum([]) / len([]) sıfıra bölme hatası verir:

empty = []
try:
    result = sum(empty) / len(empty)
except ZeroDivisionError:
    print("boş liste")
else:
    print(result)

Başlangıç kodu önceki çözümleri içerir. Sen empty listesi ve try/except bloğunu ekleyeceksin. empty boş olduğundan except bloğu çalışır ve boş liste yazdırılır.

Bu, uygulamanın sağlamlığını artırır.

Uygulama Boş liste için try/except yaz

empty = [] yaz. try: bloğu içinde result = sum(empty) / len(empty) yaz. except ZeroDivisionError: bloğu içinde print("boş liste") yaz. else: bloğu içinde print(result) yaz.

Başlangıç kodu

main.py
# Not hesaplama - not listesi
grades = [85, 90, 78]
print(grades)
grades.append(95)
print("eklendi:", len(grades))
average = sum(grades) / len(grades)
print("ortalama:", average)
# boş liste için try/except yaz

Örnek çözüm

main.py
grades = [85, 90, 78]
print(grades)
grades.append(95)
print("eklendi:", len(grades))
average = sum(grades) / len(grades)
print("ortalama:", average)
empty = []
try:
    result = sum(empty) / len(empty)
except ZeroDivisionError:
    print("boş liste")
else:
    print(result)

Beklenen çıktı

[85, 90, 78]
eklendi: 4
ortalama: 87.0
boş liste

Sıradaki adım: birleştirme

Hata yönetimi hazır — uygulama artık boş listede çökmüyor. Son derste her şeyi fonksiyonlar ile birleştireceksin: hesapla fonksiyonu tanımlayıp çağıracaksın.

Bu son katman, kodu yeniden kullanılabilir ve düzenli hâle getirecek. Fonksiyonlar, kodu parçalara ayırmanın ve test edilebilir kılmanın temel yoludur. Projenin tüm parçaları artık bir araya geliyor.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 except türünü tamamla

Soru
try:
    result = sum(empty) / len(empty)
except ____:
    print("boş liste")
Cevap
try:
    result = sum(empty) / len(empty)
except ZeroDivisionError:
    print("boş liste")

Açıklama: ZeroDivisionError sıfıra bölme hatasıdır.

2 empty = [] iken sum(empty) / len(empty) ne yapar?

  • ZeroDivisionError fırlatır Doğru cevap
  • 1 döndürür
  • None döndürür
  • 0 döndürür

Açıklama: len([]) sıfırdır; sıfıra bölme ZeroDivisionError fırlatır.

3 Hata yönetimi eşleştir

Kavram Anlamı
try Korumalı kod
except Hatayı yakalar
ZeroDivisionError Sıfıra bölme
else Başarı bloğu

Başlangıç bölümündeki tüm dersler