0 gün Seviye 1 Avar Teknolojileri

Karar Yapıları

Ders 4/6 · 2 dakika

Aşağıda örnek bir kod veriliyor. Amacımız Ahmet’e ve Mehmet’e FARKLI selam vermek.

isim = "Ahmet"
print("nbr knk?")
isim = "Mehmet"
print("Hoşgeldiniz efendim, sefalar getirdiniz!")

nbr knk? Hoşgeldiniz efendim, sefalar getirdiniz!

Karşılaştırmalı işlemler yapmak için if kullanılır. If’ler, altlarındaki yönergeler için boşluk bırakır. Boşluklar silinirse (daha önceden if varsa ve boşluklar düzenliyse) bir önceki if ifadesinin içinde çalışacaktır.

isim = "Serhat"
if isim == "Ahmet": # İsim Ahmet ise
print("nbr knk?")
isim = "Mehmet"
print("Hoşgeldiniz efendim, sefalar getirdiniz!")

Hata verir, if ifadesi boş kalmıştır.

Doğru girinti (indentation) ile yazıldığında:

isim = "Serhat"
if isim == "Ahmet": # İsim Ahmet ise
    print("nbr knk?")
isim = "Mehmet"
print("Hoşgeldiniz efendim, sefalar getirdiniz!")

Hoşgeldiniz efendim, sefalar getirdiniz!

Eğer her iki satırı da if bloğunun içine alırsak:

isim = "Serhat"
if isim == "Ahmet": # İsim Ahmet ise
    print("nbr knk?")
    isim = "Mehmet"
    print("Hoşgeldiniz efendim, sefalar getirdiniz!")

(Ekrana hiçbir şey yazdırılmaz çünkü koşul sağlanmadı)

If içinde de if kullanılabilir.

isim = "Serhat"
if isim != "Ahmet": # İsim Ahmet DEĞİLse

    if isim == "Serhat":
        print("Görmeyeli uzun zaman oldu!")

    isim = "Mehmet"
    print("Hoşgeldiniz efendim, sefalar getirdiniz!")

Görmeyeli uzun zaman oldu! Hoşgeldiniz efendim, sefalar getirdiniz.

Eğer bir if içerisinde başka olasılıklar da varsa (mesela bir zar gibi) elif kullanılır. Elif burada “else if”in kısaltılmışıdır, yani kız ismi olan Elif değildir. If altına yazılır ve tek başına kullanılamaz.

isim = "Serhat"
if isim != "Ahmet": # İsim Ahmet DEĞİLse

    if isim == "Serhat":
        print("Görmeyeli uzun zaman oldu!")
    elif isim == "Mehmet":
        print("Hoşgeldiniz efendim, sefalar getirdiniz!")

elif isim == "Ahmet":
    print("Ee, daha daha nasılsın?")

Görmeyeli uzun zaman oldu!

Ahmet olmama şartı karşılandığı için ikinci olasılığa geçilmedi. İsmimiz Ahmet olsaydı "Ee, daha daha nasılsın?" yazacaktı.

Kodumuz şu anda ismimizin “Ali” olması durumunda bir iş yapmıyor. Daha da önemlisi, başka bir isim koyulduğunda da herhangi bir işlem yapmıyor.

else, hiçbir şartın sağlanmaması durumunda yapılacakları belirtir. Elif’in aksine if ve else’den bir tane olabilir. İç içe yazılan iflerin kendilerine ait elif ve else’i vardır.

Ahmet olmama şartı her türlü sağlanacağı için onu değiştirelim:

if isim == "Seçil":

    print("SEÇİL")

elif isim == "Ahmet":
    print("Ee, daha daha nasılsın?")

elif isim == "Ali":
    print("Ha?")

else:
    print("Seni tanımıyorum.")

(isim = Ali iken): Ha? (isim = Ayşe iken): Seni tanımıyorum.

Bazı karşılaştırmalar bir koşulu ya sürekli çalıştırır, ya da hiç çalıştırmaz.

if True: # her türlü çalışır
if False: # Çalışmaz
if 2+2==4 # True döndürür
if 2+2==5 # False döndürür

Matematiksel semboller, karşılaştırma yapmaya yarar.

2>1 # 2, 1'den büyük mü? (True)
1<2 # 1, 2'den küçük mü? (True)
2 == 2 # 2, 2'ye eşit mi? (True)
2 <= 2 # 2, 2'den küçük veya 2'ye eşit mi? (True)
2 >= 2 # 2, 2'den büyük veya 2'ye eşit mi? (True)

#Örnek kullanım
if yas > 15

Kullanıcının notuna göre okulda kalıp kalmadığı, sorumlulukla kurtulup kurtulamayacağını belirleyen bir kod yazalım.

Önemli Kural

Eğer şartın kendisi tek satırsa, yeni satır açmaya gerek duymazsınız. “and” operatörü “ve”, “or” operatörü ise “veya” demektir.

nott = int(input("Yıl sonu ortalamanız: "))
if nott >= 85 and nott <= 100: print("Geçtiniz")
elif nott < 85 and nott >= 50: print("Sorumlusunuz")
elif nott < 50 and nott >= 0: print("Kaldınız")
else: # Geçersiz bir not
    print("Geçerli bir not girin.")

Dersi bitirdin mi?Bu dersi tamamladın.

İlerlemen bu tarayıcıda saklanır.