Merhabalar, Python Yapay Zeka Günlüğü #4 yazısı ile phyton öğrenme serüvenime 4. yazısı ile devam... Bu yazım Python İf else Statement konusu üzerine olacak. İf Else Statement her programlama dilinde var olan olmazsa olmazlardandır.
Python Yapay Zeka Günlüğü #4 – İf Else Statement
If Else konusunda bakalım.
var1 = 10 var2 = 20 if (var1 > var2): print("var1 büyüktür var2 den") else: print("var1 küçüktür var2 den")
Yukarıdaki kodlara baktığımızda if else komutunun nasıl kullanıldığını görebiliyoruz. Bu kullanım şekli C# ‘te olduğundan çokta farklı değil. Ancak bir farklı kullanım şekli daha var. Onu da hemen görelim.
İf Else ile Arama
liste = [1,2,3,4,5] if 6 in liste: print("içinde") else: print("değil")
Kodlarda farklı bir kullanım şekli görülmektedir. Burada bir değerin bir liste içerisinde olup olmadığını kontrol ediyoruz. Bu şekilde bir kullanım C# ‘ta yok. Varsa bile ben hiç denk gelmedim.
İf Else & Format
liste = [1,2,3,4,5] value = 3 if value in liste: print("{} içinde".format(value)) else: print("değil")
Yukarıdaki kodlarda farklı olarak, kontrol etmek istediğimiz değeri bir değişkene atayarak sorgulama yapıyoruz. Diğer bir farklılık ise .Format komutu. Bu C# ‘ta String.Format() ile aynı işi yapıyor. Ancak eğer tek bir değer var ise {} içerisinde index yazmamız gerekmiyor.
İf Else ile Dictionary İçinde Arama
ara = "Ali" dictionary = { "Ali":32, "Veli":45,"Ayşe":15 } if ara in dictionary: print("Key mevcut. Key Value : {}".format(dictionary[ara])) else: print("Aranan değer yok")
Yukarıdaki kod bloğunda görüldüğü gibi, Dictionary içinde arama yapabiliyoruz. Ancak bu arama Key’ler üzerinden oluyor. Dictionary içinde Ali Key’îni arıyoruz ve eğer aradığımız Key Dictionary içerisinde yer alıyor ise Value’sini ekrana yazdırıyoruz. (Ekrana yazdırma Anaconda/ Spyder için IPython Console ‘a yazdırmadır.)
İl Elif Else
a = 45 b = 33 if a<b: print("a is smaller than b") elif a>b: print("a is bigger than b") else: print("a == b ")
Yukarıdaki kod bloğunu incelediğimiz de de elif ‘i görüyoruz. C# ‘ta bu durum Else İf olarak geçerken, python’da elif olarak birleştirilmiş.
QUIZ
Bu dersi bir quiz ile bitirelim.
1) Girilen yılın kaçıncı yüzyıl olduğunu bulan bir metot yazın.
NOT:
- 1-100. yıllar 1. YY olacak
- 101- 200. yıllar 2. YY olacak
- Yıl 2005’ten büyük olmayacak
- Yıl 1’den küçük olmayacak
def yyBul(yil): """ Girilen yıldan, yılın kaçıncı yüzyılda olduğunu bulan fonksiyon input: Yıl output: Yüzyıl """ if (yil >= 2005): output = "2005 yılından küçük yıllar yazın" elif (yil <= 0): output = "Miladdan önceki yıllar yazmayın." else: yy = yil/100 if (str(yil)[-2:] == "00"): # sondan iki karakteri al. yy = int(yy); output = ("Girilen yıl {}. yüzyıldır".format(int(yy))) else: yy = int(yy) + 1; output = ("Girilen yıl {}. yüzyıldır".format(int(yy))) return output yyBul(2000)
Quiz’imizin çözümüne baktığımızda;
- “”” * “”” kısmının daha önce açıklamıştık. Metot hakkında bilgi verme alanıdır ve önemlidir.
- Eğer Yıl 2005’ten büyük ve 1 ‘den küçük ise ekrana uyarı yazdırıyoruz.
- Yıl 2005’ten büyük ve 1 ‘den küçük değil ise
- Girilen yılı 100’e bölüyoruz. Bu bize girilen yılın kaçıncı yüzyıl olduğunu söyleyecek (1756/100 = 17. yy)
- Eğer girilen yıl 100(1.yy), 500(5.yy), 1500(15.yy) gibi yıllar yani son iki karakteri “00” ise yüzyıl bölümden çıkan sonuçtur. ([-2:] sondan iki karakteri al)
- Sonucu int ‘e dönüştürüp (bölümden çıkan sonuç float oluyor) output değişkenine mesajımızı yazıyoruz.
- Eğer girilen yıl 101(2.yy), 685(7.yy), 1869(19.yy) gibi yıllar yani son iki karakteri “00” değil ise yüzyıl bölümünden çıkan sonuca +1 eklememiz gerekiyor.
- sonucu int’e dönüştürüp +1 ekleyip (bölümden çıkan sonuç float oluyor) output değişkenine mesajımızı yazıyoruz.
- output değişkenini geri dönüş olarak veriyoruz.
- Metodumuzu çalıştırıyoruz.
Gördüğünüz gibi Quiz’imizin çözümü bu şekildedir.
Python Yapay Zeka Günlüğü #4 – İf Else Statement yazımda bu kadardı arkadaşlar..
Diğer yazılarımda görüşmek üzere… Buraya tıklayarak tüm Python yazılarıma ulaşabilirsiniz.
NOT: Arkadaşlar bu yazıları yeni öğrenen birine ders anlatır gibi anlatıyorum. Bunun sebebi ise bir süre sonra geri dönüp baktığımda net olarak hatırlayabileyim diye ve benim yazılarıma ulaşan insanların da anlayabilsin diye…
Sağlıcakla ve Takipte kalın. :)