Python Başlangıç Araç Kiti: Hata Okuma, Kod Şablonları ve Çalışma Kontrol Listeleri

Ders 10/11 · yaklaşık 3 dk okuma

Bu derste okuyup geçeceğiniz değil, masanızda açık tutacağınız malzemeler var. Her bölümü kopyalayın, kendi not defterinize yapıştırın ve ihtiyaç duydukça uyarlayın.

1. Hata Mesajı Okuma Tablosu

Python hata verdiğinde son satırı okuyun: hata türü ve kısa açıklama orada yazar. Hemen üstündeki satır numarası size nereye bakacağınızı söyler.

HataOlası nedenİlk bakılacak yer
SyntaxErrorEksik iki nokta (:), eksik parantez veya tırnakBelirtilen satır ve bir önceki satır
NameErrorDeğişken adı yanlış yazılmış ya da henüz tanımlanmamışAdın yazımı (büyük/küçük harf) ve tanımlandığı satırın sırası
TypeErrorUyumsuz tiplerle işlem (ör. metin + sayı)İşlemdeki değişkenlerin tipi; input() sonucu metindir
IndentationErrorGirinti hizası bozuk, boşluk ve Tab karışmışHata satırı ve bağlı olduğu if/for/def satırı
ValueErrorDeğer doğru tipte ama dönüştürülemiyor (ör. int("abc"))Kullanıcının girdiği değer, int() veya float() çağrısı

2. Kod Şablonları

a) Veri alıp doğrulayan giriş bloğu

Kullanıcı geçersiz bir şey girerse program çökmesin, tekrar sorsun:

while True:
    giris = input("Yaşınızı girin: ")
    try:
        yas = int(giris)
        if yas > 0:
            break
        print("Lütfen sıfırdan büyük bir sayı girin.")
    except ValueError:
        print("Lütfen rakamla bir sayı girin.")

Uyarlama: soru metnini ve if koşulunu kendi kuralınıza göre değiştirin.

b) Menülü döngü iskeleti

while True:
    print("1) Ekle 2) Listele 3) Çıkış")
    secim = input("Seçiminiz: ")
    if secim == "1":
        pass  # ekleme işlemi buraya
    elif secim == "2":
        pass  # listeleme işlemi buraya
    elif secim == "3":
        print("Görüşürüz.")
        break
    else:
        print("Geçersiz seçim.")

c) Liste üzerinde toplama, ortalama, arama

sayilar = [12, 7, 9]
toplam = 0
for s in sayilar:
    toplam += s
if len(sayilar) > 0:
    ortalama = toplam / len(sayilar)
aranan = 9
if aranan in sayilar:
    print("Bulundu")

Not: Boş listede bölme hatası almamak için ortalamadan önce uzunluğu kontrol edin.

d) Fonksiyon yazım şablonu

def ad_ver(parametre1, parametre2):
    """Tek cümleyle bu fonksiyon ne yapar."""
    sonuc = parametre1 + parametre2
    return sonuc

Kural: fonksiyon adı bir fiil olsun (hesapla_ortalama), tek bir iş yapsın, sonucu ekrana yazmak yerine return ile döndürsün.

3. Problem Tanımı Tablosu

Kod yazmadan önce bu tabloyu kağıtta doldurun. Örnek senaryo: market alışverişinde KDV'li toplam hesaplayan program.

AlanSorulacak soruÖrnek doldurma
GirdiKullanıcıdan ne alacağım, hangi tipte?Ürün fiyatları (ondalıklı sayı listesi)
İşlemHangi adımlarla sonuca varacağım?Fiyatları topla, KDV oranıyla çarp
ÇıktıEkranda ne görmek istiyorum?"Ödenecek tutar: ..."
Test değerleriSonucunu elle bildiğim 3 örnekNormal: 2 ürün; uç: boş sepet; hatalı: harf girişi

4. Kod Bitince Kontrol Listesi

  • Değişken adları ne tuttuğunu anlatıyor mu? (x yerine toplam_fiyat)
  • Uç değerlerle denedim mi: sıfır, negatif sayı, boş giriş, çok uzun metin?
  • Anlaşılması zor yerlere kısa yorum satırı (#) ekledim mi?
  • Her fonksiyon tek bir iş yapıyor mu?
  • Aynı kodu iki yerde kopyalamak yerine fonksiyona çevirdim mi?
  • Programı baştan sona, bir arkadaşınızın girişi gibi yanlış verilerle de çalıştırdım mı?

5. Yardım İsterken Soru Kalıbı

Forumda, bir meslektaşınıza ya da yapay zekâ asistanına yazarken şu dört başlığı doldurun:

  • Ne yapmak istedim: "Kullanıcıdan üç not alıp ortalamasını yazdırmak."
  • Ne oldu: "Program ortalama yerine hata verdi."
  • Hata metni: Son satırı birebir yapıştırın, örneğin TypeError satırını.
  • Denediklerim: "int() ekledim, aynı hatayı aldım."

Ayrıca kodunuzu da ekleyin. Bu kalıpla yazılan soru çoğu zaman ilk cevapta çözülür.

Bu dersi kayıt olmadan izleyebilirsin. İlerlemeni kaydetmek, sertifika almak ve puan tablosuna girmek için ücretsiz üye ol: Kayıt Ol

İpucu: ← ve → tuşlarıyla dersler arasında geçebilirsin.