Kurs içeriği (3 / 7)
  1. 1 Python’a Giriş ve Temel Kavramlar 40 dk
  2. 2 Değişkenler ve Veri Türleri 80 dk
  3. 3 Koşul İfadeleri 80 dk
  4. 4 Döngüler 80 dk
  5. 5 Listeler ve Temel Veri Yapıları 80 dk
  6. 6 Fonksiyonlar 80 dk
  7. 7 Basit Uygulama ve Mini Projeler 80 dk

Python Temel Kurs · Ders 3 / 7

Koşul İfadeleri

Konu anlatımı ⏱ 80 dk

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:

  1. if, elif ve else yapılarıyla karar veren programlar yazabileceksiniz.
  2. Karşılaştırma operatörlerini doğru kullanabileceksiniz.
  3. and, or ve not ile birden fazla koşulu birleştirebileceksiniz.
  4. 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ç True olur.
  • or (veya): Koşullardan en az biri doğruysa sonuç True olur.
  • not (değil): Sonucu tersine çevirir; not True değeri False olur.

Ö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

  1. 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).
  2. 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.
  3. 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

  1. Python’da iki değerin eşit olup olmadığını hangi operatörle kontrol ederiz?
  2. x = 7 ise x > 5 and x < 10 ifadesinin sonucu nedir?
  3. not (3 > 2) ifadesinin sonucu nedir?

Cevaplar

  1. == operatörüyle.
  2. True. 7 hem 5’ten büyük hem 10’dan küçüktür.
  3. False. 3 > 2 doğrudur, not bunu tersine çevirir.