Python Başlangıç Araç Kiti: Hata Okuma, Kod Şablonları ve Çalışma Kontrol Listeleri
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.
| Hata | Olası neden | İlk bakılacak yer |
|---|---|---|
| SyntaxError | Eksik iki nokta (:), eksik parantez veya tırnak | Belirtilen satır ve bir önceki satır |
| NameError | Değ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ı |
| TypeError | Uyumsuz tiplerle işlem (ör. metin + sayı) | İşlemdeki değişkenlerin tipi; input() sonucu metindir |
| IndentationError | Girinti hizası bozuk, boşluk ve Tab karışmış | Hata satırı ve bağlı olduğu if/for/def satırı |
| ValueError | Değ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.
| Alan | Sorulacak soru | Örnek doldurma |
|---|---|---|
| Girdi | Kullanıcıdan ne alacağım, hangi tipte? | Ürün fiyatları (ondalıklı sayı listesi) |
| İşlem | Hangi adımlarla sonuca varacağım? | Fiyatları topla, KDV oranıyla çarp |
| Çıktı | Ekranda ne görmek istiyorum? | "Ödenecek tutar: ..." |
| Test değerleri | Sonucunu elle bildiğim 3 örnek | Normal: 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.