Hata yönetimi
- Python kursu
- Başlangıç
- Ders 115/116
- 6 dk
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
# 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
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
try:
result = sum(empty) / len(empty)
except ____:
print("boş liste")
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 |