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