Open sonsuzus opened 1 year ago
Programlama dillerinde, belirli işlemleri uygulamaya sokmak için koşul ifadelerini kullanmamız gerekiyor. Bütün programlama dillerinde koşul mantığı aynı sistematikte çalışmaktadır. Python If Else yapısı da aynı şekilde diğer dillerde olduğu gibi çalışmaktadır. İlk başta bir koşul belirlenir; koşul sağlanırsa belirlenen işlem yapılır. Bu koşul sağlanmazsa başka bir işlem devreye girerek o bölüm çalışmaya başlayacaktır. If else yapısı, algoritma ve programlamanın temel yapı taşıdır. Algoritma işlemlerinde ilk başta akış diyagramlarında koşul ifadelerine rastlamak mümkündür. Basit bir algoritma mantığı ile if else yapısını tanıyalım.
IF (Eğer şarj aleti prize takılıysa) {sarj aletinin bozuk olup olmadığını kontrol et.}
ELSE (Şarj aleti prize takılı değilse) {sarj aletini prize tak.}
IF (Eğer şarj aleti bozuksa) {yeni şarj aleti al.}
ELSE (Şarj aleti bozuk değilse) {şarj girişini kontrol et.}
Koşul kavramının temel mantığını anladığımıza göre, Python dilinde if else yapısını inceleyebiliriz. Örnek programlara geçmeden önce çeşitli matematiksel koşul ifadelerini tanımamız gerekiyor.
x == y Eğer x ve y birbirine eşitse doğrudur, değilse yanlıştır
x < y Eğer x, y’den küçükse doğrudur, değilse yanlıştır
x <= y Eğer x, y’den küçük ya da eşitse doğrudur, değilse yanlıştır
x > y Eğer x, y’den büyükse doğrudur, değilse yanlıştır
x >= y Eğer x, y’den büyük ya da eşitse doğrudur, değilse yanlıştır.
x != y Eğer x, y’den farklı ise doğrudur, değilse yanlıştır.
Python IF ... Else if, koşul belirtme ifadesidir. Python'da matematiksel koşullar belirtirken genelde aşağıdaki işaretler kullanılır:
Eşittir: a == b Eşit değildir: a != b Küçüktür: a < b Küçük ya da eşittir: a <= b Büyüktür: a > b Büyük ya da eşittir: a >= b Şimdi örneklerle if nasıl kullanılır öğrenelim:
PYTHON Kodu a = 33 b = 200 if b > a: print("b, a'dan büyüktür") print()'ten önce boşluk bıraktığımızı fark ettiniz mi? Peki ya boşluk bırakmasaydık ne olurdu? Söyleyelim: Hata verirdi.
Python, bir kod bloğu gerektiğinde girintilere bakar. Girintiler eşit olmalıdır. Aşağıdaki şekilde kullanırsanız hata alırsınız:
PYTHON Kodu a = 33 b = 200 if b > a: print("b, a'dan büyüktür") # bu hata verecek elif Deyimi Varsayalım ilk koşul gerçekleşmedi. İkinci bir koşul belirtmek istiyoruz. Bu durumda elif kullanabiliriz:
PYTHON Kodu a = 33 b = 33 if b > a: print("b, a'dan büyüktür") elif a == b: print("a, b'ye eşittir") Bu şekilde istediğimiz kadar farklı koşullar ekleyebiliriz.
else Deyimi Önceden belirttiğimiz tüm koşullar gerçekleşmediyse, Python'un ne yapması gerektiğini bu ifadeyi yazarak belirtiriz. Bu ifadeden sonra bir koşul yazılmaz.
PYTHON Kodu a = 200 b = 33 if b > a: print("b, a'dan büyüktür") elif a == b: print("a, b'ye eşittir") else: print("a, b'den büyüktür") elif kullanmadan da else kullanabilirsiniz. Bu durumda ilk koşul gerçekleşmediyse else ifadesinde belirtilen durum gerçekleşecektir.
PYTHON Kodu a = 200 b = 33 if b > a: print("b, a'dan büyüktür") else: print("b, a'dan büyük değildir") if Deyiminin Kısaltılmış Hali Eğer koşul gerçekleştiğinde yapılacak tek satırlık iş varsa, satır atlamadan koşul deyiminin sonuna yapılacak işi yazabiliriz:
PYTHON Kodu if a > b: print("a, b'den büyüktür") if ... else Deyiminin Kısaltılmış Hali Eğer gerçekleşebilecek iki durum varsa ve bunlar tek satırlık ifadelerse aşağıdaki şekilde if ... else bağlacı kullanılabilir:
PYTHON Kodu a = 2 b = 330 print("A") if a > b else print("B") Yukarıdaki kodu incelersek; a, b'den büyükse ekrana if'ten önceki kodu -print("A")- çalıştıracak, değilse else'den sonraki kodu -print("B")- çalıştıracak.
Dahası, bir satırda if, elif ve else bir arada kullanılabilir. Aşağıdaki örneği inceleyelim:
PYTHON Kodu a = 330 b = 330 print("A") if a > b else print("=") if a == b else print("B") Kod çalıştırılırsa derleyici a, b'den büyükse "A", a, b'ye eşitse "=", hiçbiri değilse "B" yazdıracak. else print("=") if a == b kısmının elif bağlacının kısaltması olduğuna dikkat edin.
and İşleci (Operatörü) Ve anlamında kullanılır. Birden fazla koşulun gerçekleşme durumunu kontrol eder. Eğer satırda belirtilen tüm koşullar doğru ise kodu çalıştırır.
PYTHON Kodu a = 200 b = 33 c = 500 if a > b and c > a: print("Her iki ifade doğrudur") or İşleci (Operatörü) Veya anlamında kullanılır. Belirtilen koşullardan biri doğruysa bile kod çalıştırılır.
PYTHON Kodu a = 200 b = 33 c = 500 if a > b or a > c: print("Koşullardan en az biri doğru") İç İçe if Kullanımı Bir koşul gerçekleştiği zaman bu şekilde alt koşulların gerçekleşme durumu tespit edilebilir. PYTHON Kodu x = 41
if x > 10: print("10'dan büyük, ") if x > 20: print("ve 20'den de büyük!") else: print("fakat 20'den büyük değil!") UYARI: Girintilere dikkat edin, her kod bloğu satırbaşına farklı uzaklıktadır.
if
, Python'da koşullu durumları belirtmek için kullanılan üç araçtan biridir.
İngilizce bir kelime olan ‘if’, Türkçede ‘eğer’ anlamına gelir. Anlamından da çıkarabileceğimiz gibi, bu kelime bir koşul bildiriyor. Yani ‘eğer bir şey falanca ise…’ ya da ‘eğer bir şey filanca ise…’ gibi… İşte biz Python’da bir koşula bağlamak istediğimiz durumları if
deyimi aracılığıyla göstereceğiz.
Gelin isterseniz bu deyimi nasıl kullanacağımıza dair bir örnek vererek işe başlayalım:
Öncelikle elimizde şöyle bir değişken olsun:
n = 255
Şimdi bu değişkenin değerini sorgulayalım:
if n > 10:
Burada sayının 10’dan büyük olup olmadığına bakıyoruz.
Bu ifadeyle Python’a şöyle bir şey demiş oluyoruz:
Eğer n
sayısının değeri 10’dan büyükse…
Burada kullandığımız işaretlere dikkat edin. En sonda bir adet :
işaretinin olduğunu gözden kaçırmıyoruz. Bu tür işaretler Python için çok önemlidir. Bunları yazmayı unutursak Python gözümüzün yaşına bakmayacaktır.
Dedik ki, if n > 10:
ifadesi, ‘eğer n değişkeninin değeri 10’dan büyükse…’ anlamına gelir. Bu ifadenin eksik olduğu apaçık ortada. Yani belli ki bu cümlenin bir de devamı olması gerekiyor. O halde biz de devamını getirelim:
if n > 10:
print("Sayı 10'dan büyüktür!")
Ssyı 10'dan büyüktür!
Dikkat ederseniz, ikinci satırı ilk satıra göre girintili yazdık. Python programlama dilinde girintiler çok büyük önem taşır. Hatta ne kadarlık bir girinti verdiğiniz bile önemlidir. Python’da girintileme ve girintilemede tutarlılık çok önemlidir. Özellikle büyük programlarda, girintilemeler açısından tutarsızlık gösterilmesi programın çalışmamasına sebep olabilir.
Şimdi metin düzenleyicimizi açarak daha mantıklı şeyler yazmaya çalışalım. Zira yukarıdaki örnekte değişkeni kendimiz belirlediğimiz için, bu değişkenin değerini if
deyimleri yardımıyla denetlemek pek akla yatkın görünmüyor. Ne de olsa değişkenin değerinin ne olduğunu biliyoruz. Dolayısıyla bu değişkenin 10
sayısından büyük olduğunu da biliyoruz! Bunu if
deyimiyle kontrol etmek çok gerekli değil. Ama şimdi daha makul bir iş yapacağız. Değişkeni biz belirlemek yerine kullanıcıya belirleteceğiz:
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!")
Gördüğünüz gibi, art arda üç adet if
bloğu kullandık. 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.
Peki ya kullanıcı muziplik yapıp sayı yerine harf yazarsa ne olacak? Böyle bir ihtimal için programımıza herhangi bir denetleyici yerleştirmedik. Dolayısıyla eğer kullanıcı sayı yerine harf girerse programımız hata verecek, yani çökecektir. Bunu denetlemek de için else
komutundan yararlanabiliriz.
Yukarıdaki örnekte input()
ile gelen karakter dizisini, int()
fonksiyonu yardımıyla bir sayıya dönüştürdüğümüze dikkat edin. Kullanıcıdan gelen veriyi büyüklük-küçüklük ölçütüne göre inceleyeceğimiz için, gelen veriyi bir sayıya dönüştürmemiz gerekiyor.
Böylece Python’daki koşullu durumlar üzerindeki incelememizin ilk ve en önemli aşamasını geride bırakmış olduk. Dikkat ettiyseniz if
deyimi sayesinde programlarımıza karar vermeyi öğrettik. Bu deyim yardımıyla, kullanıcıdan aldığımız herhangi bir verinin niteliği üzerinde kapsamlı bir karar verme işlemi yürütebiliyoruz.
if
deyimi dışında Python’da koşullu durumları ifade etmek için kullandığımız, elif
ve else
adlı iki deyim daha vardır. Bunlar if
ile birlikte kullanılırlar.
Python’da, if
deyimleriyle birlikte kullanılan ve yine koşul belirten bir başka deyim de elif
deyimidir. Buna şöyle bir örnek verebiliriz:
yaş = int(input("Yaşınız: "))
if yaş == 18:
print("18 iyidir!")
elif yaş < 0:
print("Abartma!..")
elif yaş < 18:
print("Epey gençmişsin, aynı benim gibi!")
elif yaş > 18:
print("Eh, artık yavaş yavaş yaşlanıyorsun!")
Eğer bu programı sadece if
lerle yazarsanız, örneğin negatif bir değer girdiğinizde program iki cevap çalıştıracaktır. Bu durum if
ile elif
arasındaki çok önemli bir farktan kaynaklanır. Buna göre if
bize olası bütün sonuçları listeler, elif
ise sadece doğru olan ilk sonucu verir.
Verdiğimiz örneklerden de rahatlıkla anlayabileceğiniz gibi, ilk koşul bloğunda asla elif
deyimi kullanılamaz. Bu deyimin kullanılabilmesi için kendisinden önce en az bir adet if
bloğu olmalıdır. Yani Python’da koşullu durumları ifade ederken ilk koşul bloğumuz her zaman if
deyimi ile başlamalıdır.
elif
’i de incelediğimize göre, koşul bildiren deyimlerin sonuncusuna göz atabiliriz: else
Şimdiye kadar Python’da koşul bildiren iki deyimi öğrendik. Bunlar if
ve elif
idi. Bu bölümde ise koşul deyimlerinin sonuncusu olan else
deyimini göreceğiz. Öğrendiğimiz şeyleri şöyle bir gözden geçirecek olursak, temel olarak şöyle bir durumla karşı karşıya olduğumuzu görürüz:
if falanca:
bu işlemi yap
if filanca:
şu işlemi yap
Veya şöyle bir durum:
if falanca:
bu işlemi yap
elif filanca:
şu işlemi yap
if
ile elif
arasındaki farkı biliyoruz. Eğer if
deyimlerini art arda sıralayacak olursak, Python doğru olan bütün sonuçları listeleyecektir. Ama eğer if
deyiminden sonra elif
deyimini kullanırsak, Python doğru olan ilk sonucu listelemekle yetinecektir.
Bu bölümde göreceğimiz else
deyimi, yukarıdaki tabloya bambaşka bir boyut kazandırıyor. Dikkat ederseniz şimdiye kadar gördüğümüz deyimleri kullanabilmek için ilgili bütün durumları tanımlamamız gerekiyordu. Yani:
eğer böyle bir durum varsa:
bunu yap
eğer şöyle bir durum varsa:
şunu yap
eğer filancaysa:
şöyle git
eğer falancaysa:
böyle gel
gibi…
Ancak her durum için bir if
bloğu yazmak bir süre sonra yorucu ve sıkıcı olacaktır. İşte bu noktada devreye else
deyimi girecek. else
’in anlamı kabaca şudur:
Eğer yukarıdaki koşulların hiçbiri gerçekleşmezse…
Gelin isterseniz bununla ilgili şöyle bir örnek verelim:
soru = input("Bir meyve adı söyleyin bana:")
if soru == "elma":
print("Evet, elma bir meyvedir...")
elif soru == "karpuz":
print("Evet, karpuz bir meyvedir...")
elif soru == "armut":
print("Evet, armut bir meyvedir...")
else:
print(soru, ", acaba gerçekten bir meyve midir?")
Eğer kullanıcı soruya ‘elma’, ‘karpuz’ veya ‘armut’ cevabı verirse, evet, … bir meyvedir...
çıktısı verilecektir. Ama eğer kullanıcı bu üçü dışında bir cevap verirse, … gerçekten bir meyve midir?
çıktısını görürüz. Burada else
deyimi, programımıza şu anlamı katıyor:
Eğer kullanıcı yukarıda belirlenen meyve adlarından hiç birini girmez, bunların yerine bambaşka bir şey yazarsa, o zaman else
bloğu içinde belirtilen işlemi gerçekleştir.
Python koşul durumları (if else elif) konusunu işliyoruz. Bilgisayar teknolojilerinin temelinde nasıl ki 0 ve 1 durumları varsa programlama dillerinin de temelinde algoritmaları oluşturan if ve else durumları vardır. Bu dersimizde de önemli bir aşama olan if..else konusunu anlatacağız. Koşul ifadeleri programımızda durumları kontrol etmemizi ve programlamanın seyrini değiştirmeye yarar. if , else ve elif terimleriyle mantıksal ifadeleri kullanarak bir durumun koşulu sağlaması durumunda çalışmasını gerçekleştirebiliriz.
a = 25
b = 50
if b > a:
print("b büyüktür a dan")
Örnekte gördüğünüz gibi eğer b > a koşulu doğruysa program if durumunun içine girer ve ekrana metni yazdırır. Koşul durumlarında == , != , < , <= , > , >= ifadelerini kullanabilirsiniz. Eğer if koşulunun gerçekleşmediği durumda başka bir durumun gerçekleşmesini istiyorsak bunu else terimi ile gerçekleştirebiliriz.
sayi = 3
if sayi%2 == 0:
print(str(sayi) + " çift sayıdır")
else:
print(str(sayi) + " tek sayıdır")
Bu örnekte 3 sayısının tek mi çift sayı olduğunu kontrol ediyoruz. Eğer sayımız çift ise if durumu, değilse else durumu çalışacaktır. Programımızda yeri geldiğinde birden fazla durumu kontrol etmek durumunda kalabiliriz. Bunun içinde Python programlama dilinde elif terimi devreye girer.
yas = 65
if yas < 18:
print("Ergensiniz")
elif yas >= 18 and yas < 66:
print("Gençsiniz")
elif yas >= 66 and yas < 79:
print("Orta yaşlısınız")
elif yas >= 80 and yas < 100:
print("Yaşlısınız")
else:
print("Yaş grubunuzu belirleyemedik!")
Örnekte olduğu gibi artık sadece if ve else ile kalmadık ve ara durum koşullarını da elif ile kullandık.
a = 20
b = 10
if a > b: print("a büyüktür b den")
Tek if kullanımını gördükten sonra şimdi de if ve else durumunu görelim.
a = 10
print("Çift sayı") if a%2 == 0 else print("Tek sayı")
İşi biraz daha zorlaştırıp daha fazla koşulu işin içine katabiliriz.
yas = 10
print("Genç") if yas > 18 else print("Bebek") if yas < 5 else print("Ergen")
x = 41
if x > 10:
print("Sayı ondan büyük")
if x > 20:
print("Sayı yirmiden büyük")
else:
print("Sayı yirmiden küçük")
kontrol = 1
if kontrol == 0:
print("Hata Var!")
else:
pass
Bu örnekte programımız else koşulu içine girdi ve pass terimini gördüğü için herhangi bir komut çalıştırmadan ve hata vermeden devam ederek if-else bloku içinden çıktı.
Python if kullanımı, aslında programın çalıştığı zaman programın dallanmalarına karar veren bir yapıdır. if kullanımı sırasında, çoklu ifadelerle sartın doğru ya da yanlış olduğu kontrol edilir. Hangi eylemin yapılacağı sonuçun durumuna göre deşiri. Hemen hemen bütün programlama dillerinde if kullanımı mevcuttur. Python If kullanımı diğer dillere benzer yapıdadır, If deyimi, karşılaştırma sonucuna dayalı olarak karar verir.
if¶ Python programlama dilinde koşullu durumları belirtmek için üç adet deyimden yararlanıyoruz:
Python if örnekleri
`#!/usr/bin/python
val1 = 100 if val1: print "1 - Sart dogru" print val1 else: print "1 - Sart yanlis" print val1
val2 = 0 if val2: print "2 - Sart dogru" print val2 else: print "2 - Sart yanlis" print val2
print "Hoscakal!"`
İşleç Anlamı
> büyüktür
< küçüktür
>= büyük eşittir
<= küçük eşittir
== eşittir
!= eşit değildi
Bilgisayar teknolojilerinin temelinde nasıl ki 0 ve 1 durumları varsa programlama dillerinin de temelinde algoritmaları oluşturan if ve else durumları vardır. Bu dersimizde de önemli bir aşama olan if..else konusunu anlatacağız. Koşul ifadeleri programımızda durumları kontrol etmemizi ve programlamanın seyrini değiştirmeye yarar. if , else ve elif terimleriyle mantıksal ifadeleri kullanarak bir durumun koşulu sağlaması durumunda çalışmasını gerçekleştirebiliriz. a = 25 b = 50 if b > a: print("b büyüktür a dan") Örnekte gördüğünüz gibi eğer b > a koşulu doğruysa program if durumunun içine girer ve ekrana metni yazdırır. Koşul durumlarında == , != , < , <= , > , >= ifadelerini kullanabilirsiniz. Eğer if koşulunun gerçekleşmediği durumda başka bir durumun gerçekleşmesini istiyorsak bunu else terimi ile gerçekleştirebiliriz. sayi = 3 if sayi%2 == 0: print(str(sayi) + " çift sayıdır") else: print(str(sayi) + " tek sayıdır") Bu örnekte 3 sayısının tek mi çift sayı olduğunu kontrol ediyoruz. Eğer sayımız çift ise if durumu, değilse else durumu çalışacaktır. Programımızda yeri geldiğinde birden fazla durumu kontrol etmek durumunda kalabiliriz. Bunun içinde Python programlama dilinde elif terimi devreye girer. yas = 65 if yas < 18: print("Ergensiniz") elif yas >= 18 and yas < 66: print("Gençsiniz") elif yas >= 66 and yas < 79: print("Orta yaşlısınız") elif yas >= 80 and yas < 100: print("Yaşlısınız") else: print("Yaş grubunuzu belirleyemedik!") Örnekte olduğu gibi artık sadece if ve else ile kalmadık ve ara durum koşullarını da elif ile kullandık.
Bilgisayar teknolojilerinin temelinde nasıl ki 0 ve 1 durumları varsa programlama dillerinin de temelinde algoritmaları oluşturan if ve else durumları vardır. Bu dersimizde de önemli bir aşama olan if..else konusunu anlatacağız. Koşul ifadeleri programımızda durumları kontrol etmemizi ve programlamanın seyrini değiştirmeye yarar. if , else ve elif terimleriyle mantıksal ifadeleri kullanarak bir durumun koşulu sağlaması durumunda çalışmasını gerçekleştirebiliriz. a = 25 b = 50 if b > a: print("b büyüktür a dan") Örnekte gördüğünüz gibi eğer b > a koşulu doğruysa program if durumunun içine girer ve ekrana metni yazdırır. Koşul durumlarında == , != , < , <= , > , >= ifadelerini kullanabilirsiniz. Eğer if koşulunun gerçekleşmediği durumda başka bir durumun gerçekleşmesini istiyorsak bunu else terimi ile gerçekleştirebiliriz. sayi = 3 if sayi%2 == 0: print(str(sayi) + " çift sayıdır") else: print(str(sayi) + " tek sayıdır") Bu örnekte 3 sayısının tek mi çift sayı olduğunu kontrol ediyoruz. Eğer sayımız çift ise if durumu, değilse else durumu çalışacaktır. Programımızda yeri geldiğinde birden fazla durumu kontrol etmek durumunda kalabiliriz. Bunun içinde Python programlama dilinde elif terimi devreye girer. yas = 65 if yas < 18: print("Ergensiniz") elif yas >= 18 and yas < 66: print("Gençsiniz") elif yas >= 66 and yas < 79: print("Orta yaşlısınız") elif yas >= 80 and yas < 100: print("Yaşlısınız") else: print("Yaş grubunuzu belirleyemedik!") Örnekte olduğu gibi artık sadece if ve else ile kalmadık ve ara durum koşullarını da elif ile kullandık.
Tek Satırda If Else Elif Kullanımı Yukarıda gördüğümüz örnekleri isterseniz tek satır ile de aradan çıkarabilirsiniz. Programınızı daha sonradan rahatça okuyabilmeniz için her ne kadar bu yöntemi tavsiye etmesek bile öğrenmenizde fayda var. a = 20 b = 10 if a > b: print("a büyüktür b den") Tek if kullanımını gördükten sonra şimdi de if ve else durumunu görelim. a = 10 print("Çift sayı") if a%2 == 0 else print("Tek sayı") İşi biraz daha zorlaştırıp daha fazla koşulu işin içine katabiliriz. yas = 10 print("Genç") if yas > 18 else print("Bebek") if yas < 5 else print("Ergen") İç İçe If Else Kullanımı Koşullarınızı yazarken iç içe if ve else koşullarınızı yazarak daha detaylı koşul durumları oluşturabiliriz. x = 41 if x > 10: print("Sayı ondan büyük") if x > 20: print("Sayı yirmiden büyük") else: print("Sayı yirmiden küçük")
Bir koşulun True ya da False olan sonucuna göre farklı kod blokları oluşturmak için If komutunu kullanırız. Aşağıda bazı koşul ifadeleri verilmiştir. Bu koşullar bize True ya da False değer üretirler. Eşit mi : a == b, Eşit değil mi: a != b Küçük mü : a < b Küçük ya da eşit mi: a <= b Büyük mü: a > b Büyük ya da eşit mi: a >= b
a = 10
b = 20
if b > a:
print("b, a'dan büyüktür")
Gördüğünüz gibi (b>a) şeklinde oluşturduğumuz koşul bize True değeri üretirse ekrana 'b, a'dan büyüktür' mesajı yazdırılacaktır. Eğer False değer üretilirse ekrana bir şey yazdırılmaz. ** if koşulunun sonuna eklediğimiz iki nokta (:) ile if bloğu oluşturmuş oluyoruz ve sonraki satır mutlaka içeriden başlaması gerekir aksi halde 'IndentationError: expected an indented block' şeklinde bir hata alırız.
Bazen birden fazla koşul yazmak isteriz bu durumda eğer ilk if bloğundaki koşul False değer üretirse Elif bloğunda tanımladığımız koşula bakılır.
a = 10
b = 10
if b > a:
print("b, a'dan büyüktür")
elif a == b:
print("a ile b eşittir")
a ile b eşit olduğundan dolayı if bloğu False değer üretir dolayısıyla sonraki koşul olan elif koşuluna geçilir ve buradaki koşul bize True değer ürettiğinden dolayı ekrana 'a ile b eşittir' mesajı yazdırılır. elif komutuyla istediğimiz kadar koşul eklemeye devam edebiliriz.
a = 15
b = 10
if b > a:
print("b, a'dan büyüktür")
elif a == b:
print("a ile b eşittir")
elif a > b:
print("a, b'den büyüktür")
Burada ise en sondaki elif bloğunda sorduğumuz (a>b) koşulu doğru olduğundan ekrana sadece "a, b'den büyüktür" mesajı yazdırılır.
Else ve Elif bloklarındaki koşullardan her hangi biri True değilse bir Else bloğu oluşturup Else bloğundaki kodların çalıştırılmasını sağlayabiliriz.
a = 15
b = 10
if b > a:
print("b, a'dan büyüktür")
elif a == b:
print("a ile b eşittir")
else:
print("a, b'den büyüktür")
a, b' den büyük olduğu için ilk 2 koşul False üretir ve else bloğu çalıştırılır. Zaten b, a' dan büyük değil ya da a, b'e eşit değilse bu durumda tekrar (a>b) diye sormamızın anlamı yok ve else bloğuna koşul eklemeden gerekli mesajı yazdırabiliriz.
num = int(input('sayı: '))
if num > 0:
print('sayı pozitif')
elif num < 0:
print('sayı negatif')
else:
print('sayı sıfır')
Kullanıcıdan aldığımız bir sayının pozitif, negatif ya da sıfır olup olmadığını kontrol edebiliriz.
Bir if bloğu içerisinde başka bir if bloğunu başlatabiliriz.
username = 'sadikturan'
password = '1234'
if (username == 'sadikturan'):
if (password == '12345'):
print('Hoş geldiniz')
else:
print('parola yanlış')
else:
print('username yanlış')
Burada iç içe 2 tane if bloğu kullanılmıştır. Eğer ki kullanıcının girdiği username bilgisi doğru değilse ekrana 'username yanlış' mesajı yazdırılacaktır. Ancak username doğru ise bu durumda içteki diğer if bloğundaki koşul kontrol edilecektir. İçteki koşulda ise password bilgisi doğruysa 'Hoş geldiniz' yanlış ise 'parola yanlış' mesaj yazdırılacaktır.
Koşul ifadelerinde and ve or operatörleri yardımıyla birden fazla durumu aynı anda kontrol edebiliriz.
if (username == 'sadikturan') and (password == '12345'):
print('Hoş geldiniz')
else:
print('username ya da parola yanlış')
username ve parolanın aynı anda doğru oldu durumlarda 'Hoş geldiniz' yanlış olduğu durumda ise 'username ya da parola yanlış' mesajını yazdırabiliriz.
Bilgisayar teknolojilerinin temelinde nasıl ki 0 ve 1 durumları varsa programlama dillerinin de temelinde algoritmaları oluşturan if ve else durumları vardır. Bu dersimizde de önemli bir aşama olan if..else konusunu anlatacağız. Koşul ifadeleri programımızda durumları kontrol etmemizi ve programlamanın seyrini değiştirmeye yarar. if , else ve elif terimleriyle mantıksal ifadeleri kullanarak bir durumun koşulu sağlaması durumunda çalışmasını gerçekleştirebiliriz.
a = 25
b = 50
if b > a:
print("b büyüktür a dan")
Örnekte gördüğünüz gibi eğer b > a koşulu doğruysa program if durumunun içine girer ve ekrana metni yazdırır. Koşul durumlarında == , != , < , <= , > , >= ifadelerini kullanabilirsiniz. Eğer if koşulunun gerçekleşmediği durumda başka bir durumun gerçekleşmesini istiyorsak bunu else terimi ile gerçekleştirebiliriz.
sayi = 3
if sayi%2 == 0:
print(str(sayi) + " çift sayıdır")
else:
print(str(sayi) + " tek sayıdır")
Bu örnekte 3 sayısının tek mi çift sayı olduğunu kontrol ediyoruz. Eğer sayımız çift ise if durumu, değilse else durumu çalışacaktır. Programımızda yeri geldiğinde birden fazla durumu kontrol etmek durumunda kalabiliriz. Bunun içinde Python programlama dilinde elif terimi devreye girer. yas = 65
if yas < 18: print("Ergensiniz") elif yas >= 18 and yas < 66: print("Gençsiniz") elif yas >= 66 and yas < 79: print("Orta yaşlısınız") elif yas >= 80 and yas < 100: print("Yaşlısınız") else: print("Yaş grubunuzu belirleyemedik!") Örnekte olduğu gibi artık sadece if ve else ile kalmadık ve ara durum koşullarını da elif ile kullandık.
a = 20
b = 10
if a > b: print("a büyüktür b den") Tek if kullanımını gördükten sonra şimdi de if ve else durumunu görelim. a = 10
print("Çift sayı") if a%2 == 0 else print("Tek sayı")
İşi biraz daha zorlaştırıp daha fazla koşulu işin içine katabiliriz.
yas = 10
print("Genç") if yas > 18 else print("Bebek") if yas < 5 else print("Ergen")
2. İç İçe If Else Kullanımı
Koşullarınızı yazarken iç içe if ve else koşullarınızı yazarak daha detaylı koşul durumları oluşturabiliriz.
x = 41
if x > 10: print("Sayı ondan büyük") if x > 20: print("Sayı yirmiden büyük") else: print("Sayı yirmiden küçük")
if, koşul belirtme ifadesidir. Python'da matematiksel koşullar belirtirken genelde aşağıdaki işaretler kullanılır:
Eşittir: a == b
Eşit değildir: a != b
Küçüktür: a < b
Küçük ya da eşittir: a <= b
Büyüktür: a > b
Büyük ya da eşittir: a >= b
Şimdi örneklerle if nasıl kullanılır öğrenelim:
a = 33
b = 200
if b > a:
print("b, a'dan büyüktür")
print()'ten önce boşluk bıraktığımızı fark ettiniz mi? Peki ya boşluk bırakmasaydık ne olurdu? Söyleyelim: Hata verirdi.
Python, bir kod bloğu gerektiğinde girintilere bakar. Girintiler eşit olmalıdır. Aşağıdaki şekilde kullanırsanız hata alırsınız:
a = 33
b = 200
if b > a:
print("b, a'dan büyüktür") # bu hata verecek
Varsayalım ilk koşul gerçekleşmedi. İkinci bir koşul belirtmek istiyoruz. Bu durumda elif kullanabiliriz:
a = 33
b = 33
if b > a:
print("b, a'dan büyüktür")
elif a == b:
print("a, b'ye eşittir")
Bu şekilde istediğimiz kadar farklı koşullar ekleyebiliriz.
Önceden belirttiğimiz tüm koşullar gerçekleşmediyse, Python'un ne yapması gerektiğini bu ifadeyi yazarak belirtiriz. Bu ifadeden sonra bir koşul yazılmaz.
a = 200
b = 33
if b > a:
print("b, a'dan büyüktür")
elif a == b:
print("a, b'ye eşittir")
else:
print("a, b'den büyüktür")
elif kullanmadan da else kullanabilirsiniz. Bu durumda ilk koşul gerçekleşmediyse else ifadesinde belirtilen durum gerçekleşecektir.
a = 200
b = 33
if b > a:
print("b, a'dan büyüktür")
else:
print("b, a'dan büyük değildir")
Eğer koşul gerçekleştiğinde yapılacak tek satırlık iş varsa, satır atlamadan koşul deyiminin sonuna yapılacak işi yazabiliriz:
if a > b: print("a, b'den büyüktür")
if ... else Deyiminin Kısaltılmış Hali
Eğer gerçekleşebilecek iki durum varsa ve bunlar tek satırlık ifadelerse aşağıdaki şekilde if ... else bağlacı kullanılabilir:
a = 2
b = 330
print("A") if a > b else print("B")
Yukarıdaki kodu incelersek; a, b'den büyükse ekrana if'ten önceki kodu -print("A")- çalıştıracak, değilse else'den sonraki kodu -print("B")- çalıştıracak.
Dahası, bir satırda if, elif ve else bir arada kullanılabilir. Aşağıdaki örneği inceleyelim:
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")
Kod çalıştırılırsa derleyici a, b'den büyükse "A", a, b'ye eşitse "=", hiçbiri değilse "B" yazdıracak. else print("=") if a == b kısmının elif bağlacının kısaltması olduğuna dikkat edin.
Python IF ... Else if, koşul belirtme ifadesidir. Python'da matematiksel koşullar belirtirken genelde aşağıdaki işaretler kullanılır:
Eşittir: a == b Eşit değildir: a != b Küçüktür: a < b Küçük ya da eşittir: a <= b Büyüktür: a > b Büyük ya da eşittir: a >= b Şimdi örneklerle if nasıl kullanılır öğrenelim:
PYTHON Kodu a = 33 b = 200 if b > a: print("b, a'dan büyüktür") print()'ten önce boşluk bıraktığımızı fark ettiniz mi? Peki ya boşluk bırakmasaydık ne olurdu? Söyleyelim: Hata verirdi.
Python, bir kod bloğu gerektiğinde girintilere bakar. Girintiler eşit olmalıdır. Aşağıdaki şekilde kullanırsanız hata alırsınız:
PYTHON Kodu a = 33 b = 200 if b > a: print("b, a'dan büyüktür") # bu hata verecek elif Deyimi Varsayalım ilk koşul gerçekleşmedi. İkinci bir koşul belirtmek istiyoruz. Bu durumda elif kullanabiliriz:
PYTHON Kodu a = 33 b = 33 if b > a: print("b, a'dan büyüktür") elif a == b: print("a, b'ye eşittir") Bu şekilde istediğimiz kadar farklı koşullar ekleyebiliriz.
else Deyimi Önceden belirttiğimiz tüm koşullar gerçekleşmediyse, Python'un ne yapması gerektiğini bu ifadeyi yazarak belirtiriz. Bu ifadeden sonra bir koşul yazılmaz.
PYTHON Kodu a = 200 b = 33 if b > a: print("b, a'dan büyüktür") elif a == b: print("a, b'ye eşittir") else: print("a, b'den büyüktür") elif kullanmadan da else kullanabilirsiniz. Bu durumda ilk koşul gerçekleşmediyse else ifadesinde belirtilen durum gerçekleşecektir.
PYTHON Kodu a = 200 b = 33 if b > a: print("b, a'dan büyüktür") else: print("b, a'dan büyük değildir")
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.
Python programlama dilinde koşullu durumları belirtmek için üç adet deyimden yararlanıyoruz:
if
elif
else
İsterseniz önce if
deyimi ile başlayalım…
Eğer daha önceden herhangi bir programlama dilini az da olsa kurcalama fırsatınız olduysa, bir programlama dilinde if
deyimlerinin ne işe yaradığını az çok biliyorsunuzdur. Daha önceden hiç programcılık deneyiminiz olmamışsa da ziyanı yok. Zira bu bölümde if
deyimlerinin ne işe yaradığını ve nerelerde kullanıldığını enine boyuna tartışacağız.
İngilizce bir kelime olan ‘if’, Türkçede ‘eğer’ anlamına gelir. Anlamından da çıkarabileceğimiz gibi, bu kelime bir koşul bildiriyor. Yani ‘eğer bir şey falanca ise…’ ya da ‘eğer bir şey filanca ise…’ gibi… İşte biz Python’da bir koşula bağlamak istediğimiz durumları if
deyimi aracılığıyla göstereceğiz.
Gelin isterseniz bu deyimi nasıl kullanacağımıza dair ufacık bir örnek vererek işe başlayalım:
Öncelikle elimizde şöyle bir değişken olsun:
Yukarıda verdiğimiz değişkenin değerinin bir karakter dizisi değil, aksine bir sayı olduğunu görüyoruz. Şimdi bu değişkenin değerini sorgulayalım:
Burada sayının 10’dan büyük olup olmadığına bakıyoruz.
Burada gördüğümüz > işaretinin ne demek olduğunu açıklamaya gerek yok sanırım. Hepimizin bildiği ‘büyüktür’ işareti Python’da da aynen bildiğimiz şekilde kullanılıyor. Mesela ‘küçüktür’ demek isteseydik, < işaretini kullanacaktık. İsterseniz hemen şurada araya girip bu işaretleri yeniden hatırlayalım:
İşleç | Anlamı -- | -- > | büyüktür < | küçüktür >= | büyük eşittir <= | küçük eşittir == | eşittir != | eşit değildir
Gördüğünüz gibi hiçbiri bize yabancı gelecek gibi değil. Yalnızca en sondaki ‘eşittir’ (==) ve ‘eşit değildir’ (!=) işaretleri biraz değişik gelmiş olabilir. Burada ‘eşittir’ işaretinin = olmadığına dikkat edin. Python’da = işaretini değer atama işlemleri için kullanıyoruz. == işaretini ise iki adet değerin birbirine eşit olup olmadığını denetlemek için… Mesela:
Burada değeri 26 olan a adlı bir değişken belirledik. Yani a değişkenine değer olarak 26 sayısını atadık. Ayrıca burada, değer atama işleminin ardından Enter tuşuna bastıktan sonra Python hiçbir şey yapmadan bir alt satıra geçti. Bir de şuna bakalım:
Burada ise yaptığımız şey a değişkeninin değerinin 26 olup olmadığını sorgulamak a == 26
komutunu verdikten sonra Python bize True diye bir çıktı verdi. Bu çıktının anlamını biraz sonra öğreneceğiz. Ama şimdi isterseniz konuyu daha fazla dağıtmayalım. Biz şimdilik sadece = ve == işaretlerinin birbirinden tamamen farklı anlamlara geldiğini bilelim yeter.
Ne diyorduk?
Bu ifadeyle Python’a şöyle bir şey demiş oluyoruz:
Eğer n sayısının değeri 10’dan büyükse…
Burada kullandığımız işaretlere dikkat edin. En sonda bir adet : işaretinin olduğunu gözden kaçırmıyoruz. Bu tür işaretler Python için çok önemlidir. Bunları yazmayı unutursak Python gözümüzün yaşına bakmayacaktır.
Dedik ki, if n > 10:
ifadesi, ‘eğer n değişkeninin değeri 10’dan büyükse…’ anlamına gelir. Bu ifadenin eksik olduğu apaçık ortada. Yani belli ki bu cümlenin bir de devamı olması gerekiyor. O halde biz de devamını getirelim:
Burada çok önemli bir durumla karşı karşıyayız. Dikkat ederseniz, ikinci satırı ilk satıra göre girintili yazdık. Elbette bunu şirinlik olsun diye yapmadık. Python programlama dilinde girintiler çok büyük önem taşır. Hatta ne kadarlık bir girinti verdiğiniz bile önemlidir. Eğer Python kodlarına duyarlı bir metin düzenleyici kullanıyorsanız, kullandığınız metin düzenleyici çoğu durumda sizin yerinize uygun bir şekilde girintilemeyi yapacaktır. Mesela IDLE adlı geliştirme ortamını kullananlar, ilk satırdaki : işaretini koyup Enter tuşuna bastıklarında otomatik olarak girinti verildiğini farkedeceklerdir. Eğer kullandığınız metin düzenleyici, satırları otomatik olarak girintilemiyorsa sizin bu girintileme işlemini elle yapmanız gerekecektir. Yalnız elle girintilerken, ne kadar girinti vereceğimize dikkat etmeliyiz. Genel kural olarak 4 boşlukluk bir girintileme uygun olacaktır. Girintileme işlemini klavyedeki sekme (Tab) tuşuna basarak da yapabilirsiniz. Ama aynı program içinde sekmelerle boşlukları karıştırmayın. Yani eğer girintileme işlemini klavyedeki boşluk (Space) tuşuna basarak yapıyorsanız, program boyunca aynı şekilde yapın. (Ben size girinti verirken Tab tuşu yerine Space tuşunu kullanmanızı tavsiye ederim). Kısaca söylemek gerekirse; Python’da girintileme ve girintilemede tutarlılık çok önemlidir. Özellikle büyük programlarda, girintilemeler açısından tutarsızlık gösterilmesi programın çalışmamasına sebep olabilir.
kaynak:https://python-istihza.yazbel.com/kosul_deyimleri.html
if Python programlama dilinde koşullu durumları belirtmek için üç adet deyimden yararlanıyoruz:
if
elif
else
İngilizce bir kelime olan ‘if’, Türkçede ‘eğer’ anlamına gelir. Anlamından da çıkarabileceğimiz gibi, bu kelime bir koşul bildiriyor. Yani ‘eğer bir şey falanca ise…’ ya da ‘eğer bir şey filanca ise…’ gibi… Python’da bir koşula bağlamak istediğimiz durumları if deyimi aracılığıyla gösteririz. Örnek: Öncelikle elimizde şöyle bir değişken olsun:
n = 255
Yukarıda verdiğimiz değişkenin değerinin bir karakter dizisi değil, aksine bir sayı olduğunu görüyoruz. Şimdi bu değişkenin değerini sorgulayalım:
if n > 10:
Burada sayının 10’dan büyük olup olmadığına bakıyoruz. İşleçlerin anlamları şu şekildedir:
İşleç Anlamları
| büyüktür < | küçüktür = | büyük eşittir <= | küçük eşittir == | eşittir != | eşit değildir Burada ‘eşittir’ işaretinin = olmadığına dikkat edilmelidir. Python’da = işaretini değer atama işlemleri için kullanıyoruz. == işaretini ise iki adet değerin birbirine eşit olup olmadığını denetlemek için… Örnek:
a = 26
Burada değeri 26 olan a adlı bir değişken belirledik. Yani a değişkenine değer olarak 26 sayısını atadık. Ayrıca burada, değer atama işleminin ardından Enter tuşuna bastıktan sonra Python hiçbir şey yapmadan bir alt satıra geçti. Bir de şuna bakalım:
a == 26
True
Bu başlık altına if i ve karşılaştırma durumlarını anlatan bir yazı yazınız. (En az 130 kelime) ( Kopyala yapıştır yapabilir, düzenleyebilir, birleştirebilir ve kaynakları yazabilirsiniz.)