Python da belirli bir noktaya kadar geldik ancak hareket alanımızı biraz daha genişletmemiz gerekiyor ki kodlarla daha barışık olalım. Programlama, bilgisayara elinde ki verileri nasıl işleyeceğini anlatmak demektir. Nasıl işleyeceğini anlatmanın bir yolu da belirli koşullarda nasıl davranacağını söylemesidir. Peki bu ne demek program belirli koşullarda nasıl davranacağını nereden bilecek? Şimdi defne ağacının altında bir hazine olduğu bilgisine sahipsiniz ama hangi defne ağacı nerede nasıl gidilir bilmiyorsunuz.Diyelim ki elinizde bir define haritası var. Şimdi her şey çok açık değil mi?100 adım git, sağa dön, mağaraya gittikten sonra 500 metre ileri gibi bilgilere sahip olmuş oldunuz. İşte bilgisayarda da bu yön ayrımlarını, koşul durumlarını işimizi kolaylaştırmak için programa öğretmemiz gereken durumlar var.
Mesela hayatta da çok fazla koşul durumları ile karşılaşıyoruz. Dersten kalmanız ya da geçmeniz notunuz belli puanın üzerinde olmasına bağlıdır. Örneğin notunuz 50 üzerinde ise geçersiniz altında ise kalırsınız. Programlamada da bu gibi koşul durumlarını sağlayabilmemiz gereken durumlar olacaktır. Mesela hava yağmurlu ise şemsiyesini al cümlesine bakalım önce havanın yağmurlu olup olmadığına bakarız yağmurluysa, şemsiyesini al koşulu gerçekleştirilir değilse şemsiye almaya gerek yoktur. İşte bu gibi yol ayrımlarını programa koşullu ifadeler ile öğretebiliriz.
Örneğin sosyal medya hesabınıza girmeye çalışıyorsunuz.Sizden kullanıcı adı ve şifre bilgilerinizi girmenizi ister. Eğer kullanıcı adı ve şifreniz doğru ise giriş yapabilirsiniz. Yanlış ise hesabınıza giriş yapamazsınız. Ancak doğru girdiğiniz zaman giriş yapabilirsiniz. Bu da nasıl ve nerede kullanmamız gerektiğini anlatan güzel bir örnek bizim için.
Koşullu ifadeler yapmak istediğimiz şeylerde hareket alanımızı bir hayli genişletecektir. O zaman örnekler ile başlayalım. Şimdiye kadar öğrendiklerimiz ile aşağıda ki programı yazabileceğimizi biliyorsunuz.
yas = 12
print ("Programı yalnızca 18 yaşından büyükler kullanabilir.")
print ("Yaşınız: ", yas)
Burada yaptığımız şey çok basit.Öncelikle, değeri 12 olan yas adlı bir değişken tanımladık. Daha sonra programımızı kullanacak olanlar için bir mesaj hazırladık. Son olarak da yas değişkeninin değerini ekrana print fonksiyonu ile yazdırdık.
Bu programın eksiği nedir sizce? Programımızın eksiği kullanıcı etkileşimi olmamasıdır. Burada bütün değerleri/değişkenleri programcı olarak kendimiz belirledik. Bu programın ne kadar ilkel olduğunu herhalde dile getirmeye gerek yok. Ancak Şimdi öğreneceğimiz input fonksiyonu yardımıyla yukarıdaki programın üzerindeki ilkelliği bir az da olsa atabilir, bu programı kullanıcıyla etkileşimli hale getirebiliriz.
print ("Programı yalnızca 18 yaşından büyükler kullanabilir.")
print ("Lütfen yaşınızı girin: ")
yas = input("Yaşınız: ")
print ("Yaşınız: ", yas)
Bir öncekinde olduğu gibi burada da yaptığımız şey çok basit. İlk örnekte yas değişkeninin değerini kendimiz elle yazmıştık. İkinci örnekte ise bu yas değişkenini kullanıcıdan alıyoruz ve ilk örnekteki gibi ekrana yazdırıyoruz.
Şimdi öğrendiğimiz bu bilgilerle ancak kullanıcıdan aldığımız yaş bilgisini ekrana yazdırıyoruz, işlem yaptıramıyoruz. Mesela yukarıdaki örneği dikkate alarak konuşacak olursak kullanıcının yaşı eğer 18'in üzerindeyse onu programa kabul edecek yok eğer 18 yaşın altındaysa da programdan atacak bir mekanizma üretemiyoruz. Yapabildiğimiz tek şey kullanıcının girdiği veriyi ekrana yazdırmak. Şimdi bunu geliştirmeye çalışalım.
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 ifadelerden yararlanacağız.
Python programlama dilinde koşullu durumları belirtmek için üç deyim bulunmaktadır. Bunlar:
if ile örneklerimize başlayalım. İf Türkçede "eğer" anlamına gelmekte. Python içinde aynı şekilde şartlı durumları ifade eder.
if
koşul:
ifadeler
İf yapısı işte bu şekilde oluşuyor. "if" dedikten sonra koşulumuzu yazıyoruz, daha sonra iki nokta koyup alt satıra geçiyoruz. 1 tab (4 boşluk) bırakıp şartımızın sağlandığı durumda çalışacak kodlarımızı ekliyoruz.
1 tab boşluk bırakarak yazdığınız bütün kodlar koşul bloğunun içerisinde olacaktır. Tab eklemeden diğer satıra geçtiğinizde ise koşul bloğu son bulmuş olacaktır.
Yukarıda bir koşul "true" değer alıyorsa, yani koşul sağlanıyorsa blok kısmındaki ifadeler gerçekleşecektir. Eğer koşul "false" değer alıyorsa, yani koşul sağlanmıyorsa blok kısmındaki ifadeler gerçekleşmeden program devam edecektir. Örneğin:
if n > 10:
Bu ifade ile eğer 10 sayısı 10'dan büyükse demiş oluyoruz.Şimdi baştan beri yaptığımız yaş örneğini if ile devam ettirelim.
sayı = int(input("Bir sayı giriniz: "))
if sayı > 10:
print("Girdiğiniz sayı 10'dan büyüktür!")
if sayı < 10:
print ("Girdiğiniz sayı 10'dan küçüktür!")
if sayı == 10:
print ("Girdiğiniz sayı 10'dur!")
Bu kodlara göre, eğer kullanıcının girdiği sayı 10‘dan büyükse, ilk if bloğu işletilecek; eğer sayı 10‘dan küçükse ikinci if bloğu işletilecek; eğer sayı 10’a eşit ise üçüncü if bloğu işletilecektir.
Not: input fonksinonunu içine aldığımız int fonksiyonunun amacı kullanıcıdan alınan veriyi tam sayı haline çevirmektir. İşlemini ileri ki konularda anlatacağız merak etmeyin. Peki ya kullanıcı sayı yerine harf girerse? Bu durumda programımız çökecektir.İlerleyen bölümlerde bunlarla ilgili önlemler almayı anlatacağız.
Python’da if deyimleriyle birlikte kullanılan ve yine koşul belirten bir başka deyim de elif deyimidir. Karşılaştırmalarda koşulların artması durumunda kullanacağımız terimlerden biridir.elif deyimi, else if'in bir kısaltmasıdır.Hemen daha iyi anlaşılması adına bir örnek verelim.
a = int(input("Bir sayı giriniz: "))
if a < 100:
print ("verdiğiniz sayı 100'den küçüktür.")
elif a < 50:
print ("verdiğiniz sayı 50'den küçüktür.")
elif a == 100:
print ("verdiğiniz sayı 100'dür.")
elif a > 150:
print ("verdiğiniz sayı 150'den büyüktür.")
elif a > 100:
print ("verdiğiniz sayı 100'den büyüktür.")
Bu program kullanıcının 40 sayısını girdiğini varsayarsak çıktısı "verdiğiniz sayı 40'dan küçük" olacaktır.
Python dilinde else deyiminin yazılışı
if
koşul:
ifadeler
else:
ifadeler
Her seferinde elif deyimini kullanmak yorucu olacağında else deyimi işimizi kolaylaştımaktadır.Else kısaca yukarıdaki işlemlerin hiçbiri gerçekleşmezse şunları yap anlamında kullandığımız bir ifadedir.Hemen örnek yapalım.
soru = input ("Programdan çıkış yapmak istediğinize emin misiniz?\Eminseniz 'e' harfine basın : ")
if soru == "e":
print ("görüşmek üzere")
else:
print ("Tamam,biraz daha vakit geçirelim")
Şimdi bütün bu bildiklerimizi kullanacağımız bi program yapalım.
boy = int(input("boyunuz kaç cm?"))
if boy < 170:
print ("boyunuz kısa")
elif boy < 180:
print ("boyunuz normal")
else:
print ("boyunuz uzun")
Evet,Bu kod bloğu ile kullanıcıdan girilen değere göre boyunuzun uzun yada kısa olduğunu öğrenmiş oluyoruz.
Kullanıcının ‘175’ cevabını verdiğini varsayalım: Python 175 sayısını görünce önce ilk koşula bakacak, verilen 175sayısının ilk koşulu karşılamadığını görecektir (175>170). Bunun üzerine Python kodları incelemeye devam edecek ve elif bloğunu değerlendirmeye alacaktır. 175 sayısının 180‘den küçük olduğunu görünce de çıktı olarak boyunuz normal cevabını verecektir.
Peki ya kullanıcı 192 cevabını verdiyse.Hmmmm düşünelim.....
Şimdi biz else deyiminin kullanıcının cevabının yukarıdaki koşulların hiçbirine uymazsa bu bloğu çalıştır demek olduğunu biliyoruz.O halde Kullanıcının girdiği 190 cevabı ne birinci ne de ikinci bloktaki koşula uyduğu için, normal bir şekilde else bloğu işletilecek, dolayısıyla da ekrana boyunuz uzun çıktısı verilecektir.