Koşullu İfadelere Geçmeden Önce: Debugger
Bu derste program çalışmadığında ne yapacağımızı öğreneceğiz. Çünkü programlama sadece kod yazmak değil, hatayı anlamaktır.
1. Bilgisayar Neden Hata Verir?
Bilgisayar yazılan kodları birebir uygular. Ancak en küçük yazım hatasını bile tolere etmez. İnsanlar anlam çıkarabilir ama bilgisayar çıkaramaz.
Aşağıdaki iki kodu karşılaştıralım:
print("Merhaba Dünya")
print("Merhaba Dünya)
İkinci kodda tırnak kapanmadığı için Python hata verir.
2. Hata Mesajlarını Okumak
Python hata verdiğinde aslında bize yardım eder. Hata mesajı 3 önemli bilgi içerir:
- Hatanın türü
- Hatanın olduğu satır
- Hatanın açıklaması
print("Merhaba Dünya)
Örnek hata mesajı:
SyntaxError: Yazım hatası
line 1: Hata 1. satırda
unterminated string literal: Tırnak kapatılmamış
Python sana hatanın yerini söyler, çözümünü sen bulursun.
3. Debugger Nedir?
Debugger, programı adım adım çalıştıran bir araçtır. Bir nevi büyüteç gibi çalışır.
Kod satır satır ilerler ve hata olan yerde durur. Bu sayede hatayı daha kolay buluruz.
- F5 ile çalıştırılır
- Run & Debug menüsünde bulunur
- Breakpoint (kırmızı nokta) ile durdurma yapılır
4. En Yaygın Hatalar
| Hata Türü | Örnek Kod | Açıklama |
|---|---|---|
| Tırnak hatası | print("Merhaba) | Tırnak kapanmamış |
| Parantez hatası | print("Ali" | Parantez eksik |
| Eşittir hatası | x == 5 | = atama, == karşılaştırma |
| Virgül hatası | print("Ali" "Veli") | Virgül eksik |
| Yanlış tırnak | print(“Merhaba”) | Türkçe tırnak kullanımı hatalı |
5. Hataları Bulalım
Aşağıdaki kodlarda hata var. Bulmaya çalış.
Örnek 1
print("Ali" "Veli")
İki metin arasında virgül eksik.
Örnek 2
yas = input("Yaşın: ")
print(yas + 1)
input metin döndürür, sayı ile toplanamaz.
Örnek 3
if 10 > 5:
print("Doğru")
Girinti (indentation) hatası var.
6. Hata Mesajını Parçalama
Hata mesajı genelde üç bölümden oluşur:
- Satır numarası
- Hatalı kod
- Hata türü
Satır numarası hatayı bulmanın en hızlı yoludur.
🎮 Hata Bulma Oyunu
Aşağıdaki kodları incele ve hatayı bul.
Soru 1
sayi = input("Sayı: ")
print(sayi + 5)
Cevabı Gör
sayi = int(input("Sayı: "))
print(sayi + 5)
Soru 2
if 10 > 5:
print("Büyük")
Cevabı Gör
if 10 > 5:
print("Büyük")
Soru 3
yas = int(input("Yaş: "))
if yas = 18:
print("Tam 18")
Cevabı Gör
if yas == 18:
print("Tam 18")
Mini Görevler
Mini Görev 1 – Kullanıcı Girişi
Kullanıcıdan kullanıcı adı ve şifre al. Eğer kullanıcı adı admin ve şifre 1234 ise giriş başarılı mesajı ver.
kullanici = input("Kullanıcı adı: ")
sifre = input("Şifre: ")
# Buradan sonrasını sen tamamla
✔ Cevabı Gör
if kullanici == "admin" and sifre == "1234":
print("Giriş yapabilirsiniz")
else:
print("Hatalı giriş")
Mini Görev 2 – Basit Hesap Makinesi
Kullanıcıdan işlem seçmesini iste. Sonra iki sayı al ve seçilen işleme göre sonucu hesapla.
print("İşlem seçiniz:")
print("Toplama için +")
print("Çıkarma için -")
print("Çarpma için *")
print("Bölme için /")
islem = input("Seçiminiz: ")
sayi1 = int(input("1. sayı: "))
sayi2 = int(input("2. sayı: "))
# Buradan sonrasını sen tamamla
✔ Cevabı Gör
if islem == "+":
print("Sonuç:", sayi1 + sayi2)
elif islem == "-":
print("Sonuç:", sayi1 - sayi2)
elif islem == "*":
print("Sonuç:", sayi1 * sayi2)
elif islem == "/":
print("Sonuç:", sayi1 / sayi2)
else:
print("Geçersiz işlem")