Kurs içeriği (3 / 7)
Python Temel Kurs · Ders 3 / 7
Koşul İfadeleri
Programlarımıza karar verdirmeyi öğreniyoruz: if, elif ve else yapılarını, karşılaştırma ve mantıksal operatörleri ve Python’da girintinin önemini uygulamalı örneklerle keşfediyoruz.
Bu derste
- if, elif ve else yapılarıyla karar veren programlar yazar.
- Karşılaştırma operatörlerini (==, !=, <, >, <=, >=) doğru kullanır.
- and, or ve not mantıksal operatörleriyle birden fazla koşulu birleştirir.
- Girintinin Python’daki görevini açıklar ve kodunu doğru girintiyle yazar.
Malzemeler
- Bilgisayar
- Python 3 ve Thonny
- Çevrim içi Python editörü (alternatif)
Günlük hayatta sürekli karar veririz: “Yağmur yağıyorsa şemsiye al, yağmıyorsa alma.” Programlar da duruma göre farklı davranabilir. Bu derste Python’a karar verdirmeyi öğreneceğiz.
Dersin Amacı ve Kazanımlar
Bu dersin sonunda:
if,elifveelseyapılarıyla karar veren programlar yazabileceksiniz.- Karşılaştırma operatörlerini doğru kullanabileceksiniz.
and,orvenotile birden fazla koşulu birleştirebileceksiniz.- Girintinin Python’daki görevini açıklayabilecek ve kodunuzu doğru girintiyle yazabileceksiniz.
Gerekli Malzemeler
| Malzeme | Açıklama |
|---|---|
| Bilgisayar | Windows, macOS veya Linux yüklü herhangi bir bilgisayar |
| Python 3 ve Thonny | Bilgisayara kurulu Python 3 ve Thonny editörü (thonny.org) |
| Çevrim içi editör (alternatif) | Kurulum yapılamıyorsa tarayıcıda çalışan bir Python editörü (ör. Programiz, Trinket) |
Karşılaştırma Operatörleri
Bir karar vermek için önce bir soru sorarız. Python’da bu sorular karşılaştırma operatörleriyle yazılır ve cevapları her zaman True (doğru) ya da False (yanlış) olur.
| Operatör | Anlamı | Örnek | Sonuç |
|---|---|---|---|
== |
Eşit mi? | 5 == 5 |
True |
!= |
Eşit değil mi? | 5 != 3 |
True |
> |
Büyük mü? | 2 > 7 |
False |
< |
Küçük mü? | 2 < 7 |
True |
>= |
Büyük ya da eşit mi? | 10 >= 10 |
True |
<= |
Küçük ya da eşit mi? | 8 <= 6 |
False |
if, elif ve else
if (eğer) yapısı, koşul doğruysa altındaki kodları çalıştırır. Koşul yanlışsa Python bir sonraki elif (değilse eğer) koşuluna bakar. Hiçbir koşul doğru değilse else (değilse) bölümü çalışır. elif istediğimiz kadar olabilir; elif ve else kullanmak ise zorunlu değildir.
İki kurala dikkat edin: Her koşul satırının sonunda iki nokta üst üste (:) bulunur ve koşula bağlı satırlar girintili yazılır. Girinti, satırın başına bırakılan boşluktur (genellikle 4 boşluk). Thonny, iki noktadan sonra Enter’a bastığınızda girintiyi kendiliğinden ekler.
Örnek 1: Pozitif mi, Negatif mi?
# Sayının pozitif, negatif ya da sıfır olduğunu bulma
sayi = int(input("Bir sayı gir: "))
if sayi > 0:
print("Sayı pozitif.")
elif sayi < 0:
print("Sayı negatif.")
else:
print("Sayı sıfır.")
print("Kontrol bitti.") # girintisiz satır her durumda çalışır
Örnek çalıştırma: (Kullanıcının klavyeden yazdığı değerler de çıktıda görünüyor: -4)
Bir sayı gir: -4
Sayı negatif.
Kontrol bitti.
Girintili satırlar koşula bağlıdır. En alttaki girintisiz print() ise koşulların dışındadır, bu yüzden her durumda çalışır.
Örnek 2: Tek mi, Çift mi?
Bir sayının 2’ye bölümünden kalan 0 ise sayı çifttir. Kalanı bulmak için bir önceki derste öğrendiğimiz % operatörünü kullanıyoruz.
# Tek mi çift mi?
sayi = int(input("Bir tam sayı gir: "))
if sayi % 2 == 0:
print(sayi, "çift bir sayıdır.")
else:
print(sayi, "tek bir sayıdır.")
Örnek çalıştırma: (Kullanıcının klavyeden yazdığı değerler de çıktıda görünüyor: 15)
Bir tam sayı gir: 15
15 tek bir sayıdır.
💡 İpucu
Python elif zincirinde koşulları yukarıdan aşağıya kontrol eder ve ilk doğru koşulu bulduğunda geri kalanlara hiç bakmaz. Bu yüzden aralık kontrollerinde koşulları büyükten küçüğe (ya da küçükten büyüğe) doğru sıralayın. Örnek 3’te 78 puan >= 85 koşulunu sağlamaz ama >= 70 koşulunu sağlar; Python orada durur.
Örnek 3: Puandan Derece Bulma
# Sınav puanını derece olarak gösterme
puan = int(input("Sınav puanın (0-100): "))
if puan < 0 or puan > 100:
print("Geçersiz bir puan girdin!")
elif puan >= 85:
print("Derecen: Pekiyi")
elif puan >= 70:
print("Derecen: İyi")
elif puan >= 60:
print("Derecen: Orta")
elif puan >= 50:
print("Derecen: Geçer")
else:
print("Derecen: Geçmez")
Örnek çalıştırma: (Kullanıcının klavyeden yazdığı değerler de çıktıda görünüyor: 78)
Sınav puanın (0-100): 78
Derecen: İyi
Mantıksal Operatörler: and, or, not
Bazen birden fazla koşulu aynı anda kontrol etmemiz gerekir:
and(ve): İki koşul da doğruysa sonuçTrueolur.or(veya): Koşullardan en az biri doğruysa sonuçTrueolur.not(değil): Sonucu tersine çevirir;not TruedeğeriFalseolur.
Örnek 3’te puan < 0 or puan > 100 koşulu, iki uçtan herhangi birine taşan puanları yakalıyordu. Şimdi de and ile iki şartın birlikte sağlanmasını isteyelim.
Örnek 4: Lunapark Kontrolü
# Lunaparktaki oyuncağa binebilir mi?
yas = int(input("Yaşın: "))
boy = int(input("Boyun (cm): "))
if yas >= 12 and boy >= 140:
print("Oyuncağa binebilirsin, iyi eğlenceler!")
else:
print("Üzgünüm, bu oyuncak için şartları sağlamıyorsun.")
# not operatörü ile bool değişken kullanımı
hafta_sonu = True
yagmur_yagiyor = False
if hafta_sonu and not yagmur_yagiyor:
print("Parka gitmek için harika bir gün!")
Örnek çalıştırma: (Kullanıcının klavyeden yazdığı değerler de çıktıda görünüyor: 13, 150)
Yaşın: 13
Boyun (cm): 150
Oyuncağa binebilirsin, iyi eğlenceler!
Parka gitmek için harika bir gün!
⚠️ Önemli Not
En sık yapılan hata, karşılaştırma için tek eşittir kullanmaktır. = bir değişkene değer atar, == ise iki değeri karşılaştırır. if sayi = 5: satırı SyntaxError verir; doğrusu if sayi == 5: şeklindedir. İkinci sık hata girintidir: koşulun altındaki satırı girintisiz yazarsanız IndentationError hatası alırsınız. Aynı bloktaki satırların girintisi de birbirinin aynısı olmalıdır.
Sıra Sizde
- Kolay: Kullanıcıdan yaşını alın. 18 ve üzeriyse “Ehliyet alabilirsin.”, değilse “Ehliyet için ... yıl beklemelisin.” yazdırın (bekleme süresini hesaplayarak).
- Orta: Kullanıcıdan iki sayı alın ve hangisinin büyük olduğunu ya da eşit olduklarını ekrana yazdırın.
- Zor: Basit bir hesap makinesi yapın: Kullanıcıdan iki sayı ve bir işlem işareti (
+,-,*,/) alın, sonucu yazdırın. Bölme işleminde ikinci sayı 0 ise “Sıfıra bölme yapılamaz!” uyarısı verin.
Kendini Dene
- Python’da iki değerin eşit olup olmadığını hangi operatörle kontrol ederiz?
x = 7isex > 5 and x < 10ifadesinin sonucu nedir?not (3 > 2)ifadesinin sonucu nedir?
Cevaplar
==operatörüyle.True. 7 hem 5’ten büyük hem 10’dan küçüktür.False.3 > 2doğrudur,notbunu tersine çevirir.