Python Programlama Dili 2. Python da Koşul ifadeleri Python da koşullu durumların nasıl oluşturulacağını bu bölümde öğreneceğiz. Bu iş için kullanacağımız üç tane deyim var: if, else ve elif 2.1. if If deyimi yardımıyla Python da koşula bağlı bir durumu belirtebiliyoruz. Kullanım şeklini anlayabilmek için bir örnek verelim: >>> if a == b: print "a ile b birbirine eşittir" Yukarıda yazdığımız kod şu anlama geliyor: Eğer a değişkeninin değeri b değişkeninin değeriyle aynı ise, ekrana a ile b birbirine eşittir, diye bir cümle yazdır. Öncelikle girintilemeden bahsedelim. Dikkat ettiyseniz yukarıda yazdığımız yarım kod içinde print ile başlayan ifade, if ile başlayan ifadeye göre daha içeride. Bu durum, print ile başlayan ifadenin, if ile başlayan ifadeye ait bir alt-ifade olduğunu gösteriyor. Girintileme işlemini elle yapmanız gerekirse genel kural olarak klavyedeki TAB tuşuna bir kez basmalısınız. Şimdi yukarıda verdiğimiz yarım programı tamamlamaya çalışalım. Örnek 1: a = 23 b = 23 if a == b: print "a ile b birbirine eşittir." Örnek 2: parola = raw_input("lütfen parolanızı giriniz: ") if parola == "python": print "Parola onaylandı! Programa hoş geldiniz!"
Burada raw_input() fonksiyonunun değerini doğrudan parola adlı değişkene atıyoruz. 2.2. else else deyimi kısaca, if deyimiyle tanımlanan koşullu durumlar dışında kalan bütün durumları göstermek için kullanılır. Küçük bir örnek verelim: Örnek 1: isim = raw_input("senin ismin ne?") if isim == "Ferhat": print "Ne güzel bir isim bu!" print isim, "adını pek sevmem!" Örnek 2: parola = raw_input("lütfen parolanızı giriniz: ") if parola == "python": print "Parola onaylandı! Programa hoşgeldiniz!" print "Ne yazık ki, yanlış parola girdiniz!" 2.3. elif Eğer bir durumun gerçekleşmesi birden fazla koşula bağlıysa elif deyiminden faydalanıyoruz. Mesela: meyve = raw_input("bir meyve adı yazınız: ") if meyve == "elma": print "elma bir meyvedir" elif meyve == "armut": print "armut bir meyvedir" print meyve, "bir meyve değildir!"
Eğer bir durumun gerçekleşmesi birden fazla koşula bağlıysa birden fazla if deyimini art arda da kullanabiliriz. Örneğin: sayi = 100 if sayi == 100: print "sayi 100'dür" if sayi <= 150: print "sayi 150'den küçüktür" if sayi > 50: print "sayi 50'den büyüktür" if sayi <= 100: print "sayi 100'den küçüktür veya 100'e eşittir" Bu program çalıştırıldığında bütün olası sonuçlar listelenecektir. Yani çıktımız şöyle olacaktır: sayi 100'dür sayi 150'den küçüktür sayi 50'den büyüktür sayi 100'den küçüktür veya 100'e eşittir Eğer bu programı elif deyimini de kullanarak yazarsak sonuç şu olacaktır: Öncelikle kodumuzu görelim: sayi = 100 if sayi == 100: print "sayi 100'dür" elif sayi <= 150: print "sayi 150'den küçüktür" elif sayi > 50: print "sayi 50'den büyüktür" elif sayi <= 100: print "sayi 100'den küçüktür veya 100'e eşittir" Bu kodların çıktısı ise şöyle olacaktır: sayı 100'dür Gördüğünüz gibi programımızı elif deyimini kullanarak yazarsak Python belirtilen koşulu karşılayan ilk sonucu ekrana yazdıracak ve orada duracaktır.
Buraya kadar Python da pek çok şey öğrenmiş olduk. if, elif, else deyimlerini de öğrendiğimize göre artık çok basit bir hesap makinesi yazabiliriz: # bolme islemini daima ondalıklı yapmasi icin from future import division secenek1 = "(1) toplama" secenek2 = "(2) çıkarma" secenek3 = "(3) çarpma" secenek4 = "(4) bölme" print secenek1 print secenek2 print secenek3 print secenek4 soru = raw_input("yapılacak işlemin numarasını girin: ") if soru == "1": sayi1 = input("toplama için ilk sayıyı girin: ") print sayi1 sayi2 = input("toplama için ikinci sayıyı girin: ") print sayi1, "+", sayi2, ":", sayi1 + sayi2 if soru == "2": sayi3 = input("çıkarma için ilk sayıyı girin: ") print sayi3 sayi4 = input("çıkarma için ikinci sayıyı girin: ") print sayi3, "-", sayi4, ":", sayi3 - sayi4 if soru == "3": sayi5 = input("çarpma için ilk sayıyı girin: ") print sayi5 sayi6 = input("çarpma için ikinci sayıyı girin: ") print sayi5, "x", sayi6, ":", sayi5 * sayi6 if soru == "4": sayi7 = input("bölme için ilk sayıyı girin: ") print sayi7 sayi8 = input("bölme için ikinci sayıyı girin: ") print sayi7, "/", sayi8, ":", sayi7 / sayi8
2.4. Python da Girintileme Sistemi Pek çok programlama dilinde girintileme bir tercih meselesidir. Bu dillerde yazdığınız kodlar girintilenmiş de olsa girintilenmemiş de olsa düzgün bir şekilde çalışacaktır. Mesela aşağıdaki C koduna bakalım: #include <stdio.h> int main() { int a = 1; if (a == 1) { printf("merhaba!\\n"); return 0; } } Eğer istersek yukarıdaki kodları şöyle de yazabiliriz: #include <stdio.h> int main(){int a = 1;if (a == 1){printf("Merhaba!\\n");return 0;}} Yukarıda gösterilen her iki kod da derleyiciler (compiler) tarafından aynı şekilde okunup, başarıyla derlenecektir. Ancak Python la ilgilenen herkesin çok iyi bildiği gibi, Python programlama dilinde girintileme basit bir üslup meselesi değildir. Yani yukarıdaki C kodlarının yaptığı işi Python la yerine getirmek istersek şöyle bir kod yazmamız gerekir: a = 1 if a == 1: print "Elveda Zalim Dünya" Bu kodların sahip olduğu girintileme yapısı Python açısından büyük önem taşır. Örneğin yukarıdaki kodları şu şekilde yazamayız: a = 1 if a == 1: print "Elveda Zalim Dünya" Bu kodlar çalışma sırasında hata verecektir.