Hiç kuşkusuz, koşula bağlı durumlar Python’daki en önemli konulardan biridir. Giriş bölümünde bahsettiğimiz koşullu işlemleri yapabilmek için ‘koşul deyimleri’ adı verilen birtakım araçlardan yararlanacağız. Gelin şimdi bu araçların neler olduğunu görelim (Özgül, Python3 Kılavuzu, 2017).
Python 3'te koşullu durumları ifade etmek için 3 deyimden yararlanırız.
Bu ifadelerle birlikte değişkenlerin veya değerlerin birbiri ile kıyaslanmasını sağlayan operatörler ve anlamları tabloda verilmiştir.
Operatör | Anlamı |
---|---|
> | büyüktür |
< | küçüktür |
>= | büyük eşittir |
<= | küçük eşittir |
== | eşittir |
!= | eşit değildir |
Bu operatörleri python3'te kullanalım.
In [1]:
a = 5
b = 6
a > b
Out[1]:
Yukarıdaki örnekte a değişkeni b değişkeninden büyük değildir. Bunu python3 yorumlayıcı bu yüzden False olarak değerlendirdi.
Diğer operatörlerde de durum benzerdir. Herhangi bir operatörle dilediğiniz kıyaslamayı yapabilirsiniz.
Örneğin;*
In [2]:
i = 10
j = 26
i <= j
Out[2]:
Yukarıdaki örnekte i değişkeni j değişkenine küçük veya eşit olduğu tüm durumlarda True olacaktır.
İşte bu operatörlele karşılaştırılan değişkenlerin python3 yorumlayıcısının verdiği sonuç sonra bizim koşul ifadeleri yardımıyla yazılımımıza yön vermemiz gerekecek. True olması durumunda bunu yap, False olması durumunda bunu yap gibi...
Diyelim ki klavyeden grilen herhangi bir sayının 10'dan büyük olup/olmadığını ekrana yazdıran bir program yazalım.
In [3]:
sayi = int(input("Bir sayı giriniz:"))
if sayi < 10:
print(sayi, "10'dan küçüktür.")
Burada dikkat edilmesi gereken nokta şudur. if satırındaki kıyaslamadan sonra satır mutlaka : ile bitirilmedir. : 'dan sonra gelecek kısım mutlaka girintili bir şekilde (4 adet boşluk) yazılmalıdır.
if satırındaki kıyaslamanın sonucu True ise girintili kısım çalışacaktır. False ise çalışmayacaktır.
Tabii burada program eksik kaldı. Girilen sayının 10'dan büyük ve eşit kısımlarında da çalışmasını istersek şu şekilde kodumuzu geliştirmemiz gerekecek.
In [5]:
sayi = int(input("Bir sayı giriniz:"))
if sayi < 10:
print(sayi, "10'dan küçüktür.")
if sayi > 10:
print(sayi, "10'dan büyüktür.")
if sayi == 10:
print(sayi, "10'a eşittir.")
Yukarıdaki karşılaştırmalardan 56 sayısı için ikinci if'li ifade True sonucunu vereceği için sadece ikinci if bloğu çalışacaktır.
Örneklerde de anlaşıldığı gibi bu karşılaştırmaların çalışabilmesi için True mantığı geçerlidir.
Python'da if ile kullanılan bir başka deyim de elif deyimidir. elif, eğer değilse şekilnde düşünülebilir. Yani if ile kıyaslanan bir durum True değilse, bir başka karşılaştırma yapmak için kullanılır. Bir örnekle daha iyi anlaşılacaktır.
In [6]:
yas = int(input("Yaşınız: "))
if yas == 18:
print("18 iyidir! Çocukluğunu şimdiden özlesen iyi olur!")
elif yas < 0:
print("Evladım o evreyi sormadım! :)")
elif yas < 18:
print("Böylesi daha iyi boşver!")
elif yas > 18:
print("Kocaman adam/kadın olmuşsun! Burada ne arıyorsun? :/")
Bu programı if deyimi ile de yapabilirdik ama bu programdan farklı olarak if durumunda birden fazla True ile karşılaşma olasılığımız olabilirdi. elif kısmında yalnızda True olan ilk ifade çalışır ve o bloktan çıkılır.
In [7]:
sayi = 25
if sayi < 30:
print("a:", sayi)
if sayi < 20:
print("b:", sayi)
if sayi > 8:
print("c:", sayi)
Yukarıdaki örnekte de görüldüğü üzere sadece if deyimi ile yazılan program birden fazla şartı sağladı ve ekrana çıktı verdi. Örneğimizi elif ile kuralım;
In [8]:
sayi = 25
if sayi < 30:
print("a:", sayi)
elif sayi < 20:
print("b:", sayi)
elif sayi > 8:
print("c:", sayi)
elif deyimi ile yazılan programda ise ilk True ifade sonuç verdi. Çünkü elif kısmı if deyiminden sonra True olacak ilk durumu algılar ve sonra bütün bir if bloğundan çıkar. Buna çok dikkat etmemiz gerek.
else, if veya elif durumlarının haricinde bir durum gerçekleşirse True olur. Yani burada bir kıyaslama yapmamız gerekmek. Karşılaştırma yaptığımız olasılık uzayı dışındaki durumların gerçekleşme durumudur.
Örneğin;
In [11]:
soru = input("Programdan çıkmak istediğinize emin misiniz? \
Eminseniz 'e' harfine basın : ")
if soru == "e":
print("Güle güle!")
elif soru == "E":
print("Güle güle! Caps Lock açık, yeri gelmişken hatırlatayım ;)")
else:
print("Peki, biraz daha sohbet edelim!")
Burada if kısmındaki karşılaştırma doğru ise ilk kısım çalışacak, eğer ikinci kısımdaki karşılaştırma yani E tuşuna basılırsa ikinci kısım çalışacak. Eğer tüm bu karşılaştırmaların dışında bir tuşa basılırsa else kısmı True olmuş olacaktır.
Koşul ifadeleri python 3'te özet olarak burada anlatılmıştır. Daha detaylı bilgiler için lütfen kaynaklar bölümünü inceleyiniz.
to be continued...