Koşullu İfadeler
Koşullu ifadeler tüm programlama dillerinde iş akışını oluştururken faydalandığımız özelliklerdir. Belirli bir koşulun gerçekleşmesi durumunda belirli bir kod parçasını, gerçekleşmemesi durumunda ise farklı bir kod parçasını çalıştırmanızı sağlar.
if koşullu ifadesi, her programlama dilinde en çok kullanılan kodlardan biridir. Şablonu şu şekildedir;
if koşul: koşul doğru ise çalıştırılacak kodlar elif koşul: if koşulu yanlış ve elif koşulu doğru iken çalıştırılacak kodlar else: diğer tüm koşullar yanlış iken çalıştırılacak kodlar
Basit bir örnekle görelim;
x=8 y=9 if x<y: print("x sayısı y sayısından küçüktür") elif x==y: print("x sayısı y sayısına eşittir") else: print("x sayısı y sayısından büyüktür")
Çıktı:
x sayısı y sayısından küçüktür
x ve y değişkenlerinin değerlerini değişitirerek diğer kod bloklarının çalışmasını da test edebilirsiniz.
Gerektiğinde if koşullu ifadelerini iç içe de kullanabilirsiniz. Böylece koşulun alt koşullarını da test etmeniz mümkün olur. Basit bir örnekle görelim;
x = 18 if x >= 10: print("Sayınız 10'a eşit ya da büyük,") if x > 20: print("ve ayrıca 20'den de büyük!") else: print("ama 20'den küçük.") elif x >= 0 and x < 10: print("Sayınız 0 ya da 10'dan küçük bir pozitif sayı") else: print("Sayınız negatif bir sayı") print("")
Çıktı:
Sayınız 10'a eşit ya da büyük, ama 20'den küçük.
Eğer herhangi bir koşul için kod yazmanız gerekmiyorsa, o koşulun sağlandığı durum için gerekli kod alanını boş bırakamazsınız, hata verir. Bunu aşmak için pass anahtar kelimesini kullanmanız yeterlidir.
x = 18 if x >= 10: print("Sayınız 10'a eşit ya da büyük") if x > 20: print("ve ayrıca 20'den de büyük!") else: pass elif x >= 0 and x < 10: print("Sayınız 0 ya da 10'dan küçük bir pozitif sayı") else: print("Sayınız negatif bir sayı")
Çıktı:
Sayınız 10'a eşit ya da büyük
Üçlü Koşul Operatörü(Ternary Operator) ile Tek Satırda Koşullu İfade Yazmak
Koşullar doğru olduğunda çalıştıracağınız kodlar tek satıra sığıyorsa eğer if koşullu ifadelerini tek satırda yazmak üçlü koşul operatörü(ternary operator) olarak adlandırılır. Eğer tek koşul var ise;
if koşul: “if koşulu doğruysa çalıştırılacak kodlar”
iki koşul söz konusuysa;
“if koşulu doğruysa çalıştırılacak kodlar” if koşul else “if koşulu yanlışsa çalıştırılacak kodlar”
ikiden fazla koşul söz konusuysa;
“if koşulu doğruysa çalıştırılacak kodlar” if koşul else “ikinci if koşulu doğruysa çalıştırılacak kodlar” if koşul else “tüm koşullar yanlışsa çalıştırılacak kodlar”
şablonuyla yazılır.
Eğer tek koşul var ise;
Standart Yazılışı;
if x < y: print("x sayısı y sayısından küçüktür")
Çıktı:
x sayısı y sayısından küçüktür
Tek Satırda Yazılışı;
if x < y: print("x sayısı y sayısından küçüktür")
Çıktı:
x sayısı y sayısından küçüktür
Eğer iki koşul var ise;
Standart Yazılışı;
x, y = 1, -6.32 if x < y: print("x sayısı y sayısından küçüktür") else: print("x sayısı y sayısından büyük ya da eşittir")
Çıktı:
x sayısı y sayısından büyük ya da eşittir
Tek Satırda Yazılışı;
x, y = 1, -6.32 print("x sayısı y sayısından küçüktür") if x < y else print("x sayısı y sayısından büyük ya da eşittir"
Çıktı:
x sayısı y sayısından büyük ya da eşittir
Eğer ikiden fazla koşul var ise;
Standart Yazılışı;
x, y = 56.43, 56.43 if x < y: print("x sayısı y sayısından küçüktür") elif x>y: print("x sayısı y sayısından büyüktür") else: print("x sayısı y sayısına eşittir")
Çıktı:
x sayısı y sayısına eşittir
Tek Satırda Yazılışı;
x,y=56.43,56.43 print("x sayısı y sayısından küçüktür") if x < y else print("x sayısı y sayısından büyüktür") if x > y else print("x sayısı y sayısına eşittir")
Çıktı:
x sayısı y sayısına eşittir