Bazı durumlada sonraki adımın ne olacağı yönünde karar almamız gerekmektedir. Aldığımız karar sonrası diğer adımlar da ona göre şekillenecektir. Örneğin bugün hava yağmurluysa yanına şemsiye al veya hava yağmurlu değilse şemsiye almana gerek yok tarzında kararlar vermemiz gerekmektedir. if elif else komutları da aynı bu şekilde çalışmaktadır. Python'da karar vermek için if elif else ifadeleri kullanılır.
if ifadeleri : Eğer koşulumuz doğru ise bu kod bloğu çalışacaktır. Kod bloğunda sadece bir tane if ifadesi olur.
elif ifadeleri : Eğer if ifadesi doğru değilde elif içinde yazmış olduğumuz şart sağlanıyorsa elif ifadesi geçerli olacaktır. Durumuna göre sayısı birden fazla da olabilir.
else ifadeleri : Eğer if veya elif ifadesi de koşulumuzu sağlamadı ise son durumda bu kod bloğu çalışacaktır.Kod bloğunda sadece bir tane else ifadesi olur.
**Not: Daha önceki dersimizde Girinti (4 boşluk) ifadesinden bahsetmiştik. Bir kodun altında girinti oluyorsa o kodun aşağısındaki kodu kapsadığını bildirmiştik. Onu da göz önünde bulundurarak örnekler yapalım.
a=5
b=2
if a>b: #Eğer a sayısı,b den büyükse
print("a sayısı,b den büyüktür.")
else: #a sayısı,b den büyük değilse
print("a sayısı b den büyük değildir.")
Çıktı:
a sayısı,b den büyüktür.
a=12
b=8
c=15
if (a>b)&(a>c): #Eğer a>b ve a>c ise ağıdaki kodu çalıştır
print("a en büyük sayıdır")
elif (a<b)&(b>c): #Eğer a<b ve b>c ise ağıdaki kodu çalıştır
print("b en büyük sayıdır")
else: #eğer yukardaki şartların hiçbiri sağlanmıyorsa da aşağıdaki kodu çalıştır
print("c en büyük sayıdır")
Çıktı:
c en büyük sayıdır
Örnek-1: Bir futbol maçına A ve B takımlarının karşılaştığını düşünelim ve kullanıcdan skor girmesini isteyelim. Skor sonucuna göre galip olan takımı veya beraberlik durumunu belirten bir program yazalım.
A=input("A takımı skor=")
B=input("B takımı skor=")
A=int(A)
B=int(B)
if A>B:
print("A takımı kazandı")
elif A<B:
print("B takımı kazandı")
elif A==B:
print("Berabere kalındı")
Örnek-2: Bir sınavın puanlama sistem aşağıdaki gibidir. Öğrenciden almış olduğu puanın girilmesi istensin ve harf notunu da sonuç olarak programdan döndürmesini isteyelim.
- 90-100 : AA
- 80-89 : BB
- 70-79 : CC
- 60-69 : DD
- 0-59 : FF
grade=input("Almış olduğunuz sınav notunu giriniz = ")
grade=int(grade) #input değeri string olduğundan dolayı onu sayısal bir değere çevirdik.
if grade >=90: #90 dan büyük ve eşitse AA
print("Harf notu=AA")
elif (grade >=80) & (grade<90): #80 den büyük eşit ve 90 dan küçükse BB
print("Harf notu=BB")
elif (grade >=70) & (grade<80): #70 den büyük eşit ve 80 dan küçükse CC
print("Harf notu=CC")
elif (grade >=60) and (grade<70): #60 den büyük eşit ve 60 dan küçükse DD
print("Harf notu=DD")
else: #diğer tüm değerler FF
print("Harf notu=FF")