Python Koşullu İfadeler | if – elif – else Kullanımı
Merhaba Değerli Öğrenciler,
Python Dersleri serisinin bu dersinde Python Koşul İfadelerinin ne olduğunu ve Koşul ifadeleri ile ilgili uygulamalar yapmaya çalışacağım
Peki nedir bu Python da koşul ifadeleri ne işe yarar;
Koşul İfadeleri:
Python Koşul ifadeleri hemen bir örnekle açıklayalım örneğin sosyal hesabımıza girmeye çalıştığımız zaman bizden kullanıcı adı ve şifre bilgilerimizi girmemizi ister. Eğer kullanıcı adı ve şifre doğru ise giriş yapmamızı veya yanlış ise hesabımıza giriş yapamayız ancak doğru girdiğimiz zaman giriş yapabiliriz.
Başka bir örnek verelim bir ATM’den paraya çekmeye çalıştığımız zaman şifre bilgilerimiz doğru ise ancak o zaman işlemleri gerçekleştirebiliyoruz. İşte bu işlemleri Koşullu ifadeler sayesinde yapabiliyoruz ben de bu derste size Python koşul ifadeleri olan ; if, elif ve else ifadelerini anlatmaya çalışacağım. Bu deyimleri anlatmadan önce koşullu işleçlerin tablosunu gösterelim.
![](https://bilisimhocamyusufbalyemez.com/wp-content/uploads/2023/10/1__VYOdKObziIQ-QEK4JaLkw.png)
Yukarıdaki tablodaki işlemlerin iki sonucu olacaktır. Ya true (doğru) ya da yanlış (false). Kodlamada yapılan işlemler bu iki değerin sonucuna göre şekillenmekte ve karar verilmektedir. Aşağıdaki örneği inceleyiniz.
print(3==3)
print(4==10)
print(15!=23)
print(5<10)
print(15>9)
Yukarıdaki kodlar çalıştırıldığında terminal ekranında sonuçlar sırasıyla aşağıdaki gibi görünecektir.
True
False
True
True
True
Gördüğünüz üzere karşılaştırma operatörleri karşılaştırılan verileri kullanılan operatörlere göre sonucunu True ya da False olarak geri dönmektedir. Bu sayede belirli şartlara göre işlemlerinizi gerçekleştirebiliriz.
or VE and Kullanımı
And ve Or ifadelerinin öncelikle türkçe karşılıklarını deyinelim. And türkçede kullanılan ‘ve’ bağlacını temsil ederken or ise “ya da” bağlacını temsil etmektedir.
Örneğin günlük hayatımızda şu cümleleri sıklıkla kullanırız. “İki ekmek ve 3 tane çikolata alacağım.”, “Ali ve ayşe yanıma gelsin.”
Bu iki cümleyi incelediğimizde iki şartında mutlaka gerçekleşecek olmasıdır. İki ekmek ile 3 tane çikolata alınmalı , Ali ve Ayşe yani iki kişi de mutlaka gelmesi gerekmektedir. Cümleleri ve bağlacı ile değil de ya da bağlacı ile kursaydık şöyle ifade ederdik. Fakat bu sefer şartlar daha farklı olacaktı.
“İki ekmek veya 3 tane çikolata alacağım.” Bu cümlede artık ikisi değil ikisinden birinin alınacağı söz konusudur.
Aynı şekilde “Ali veya Ayşe yanıma gelsin.” cümlesinde ikisinin harekete geçmesi değil de ikisinden birinin harekete geçmesi durumu söz konusudur. Yani seçim işlemi devreye girmektedir.
Programlama yaparken koşullu ifadelerde bazen birden fazla şartı karşılaştırmak isteyebiliriz. Bazı şartlar aynı anda geçerliyse veya bazı şartlardan herhangi birisi doğruysa şeklinde sorgulamalar yapabiliriz. Bu noktada devreye or ve and kavramları girmektedir. Aşağıdaki örnekleri inceleyiniz.
print(3==3 and 4==4) #True sonucunu döndürecektir.
print(3==3 and 3==4) #False sonucunu döndürecektir.
Yukarıdaki örneklerde ilk örnekte sonuç True olurken ikinci örnekte sonucun False olmasının sebebi iki şartında True olmaması. 3==3 ‘e eşittir evet sonuç True (doğru) fakat şartın ikinci kısmında 3==4’e eşittir ifadesi gerilmiş bu False (yanlış) olacaktır. Dolayısıyla and ifadelerinde herhangi bir şartın sonucu false ise tüm ifade false olur. MUTLAKA VE MUTLAKA TÜM İŞLEMLERİN SONUCU TRUE olmalıdır.
print(3>4 or 10<11) #True sonucunu döndürecektir.
print(2>4 or 20<7) #False sonucunu döndürecektir.
Yukarıdaki iki örnekte or (ya da) ifadesi kullanılmıştır. İlk örnekte sonucun True dönmesinin sebebi 3,4 den büyüktür (doğru) ikinci kısımda ise 11,10’dan küçüktür ifadesi Yanlıştır. Dolayısıyla şartlardan herhangi birinin doğru olması ifadeyi tamamen True(doğru yapar)
İkinci örnekte ise iki ifadede yanlıştır. 2, 4’ten büyük değil, 20 de 7’den küçük değil. İki şartta False olduğu için sonuç false olacaktır. Or kullanımda ifadenin True olabilmesi için herhangi şarttan biri true olması yeterliyken false olabilmesi için tüm ifadelerin false olması gerekir.
if Deyimi:
if deyiminin ingilizcedeki anlamı “eğer” demektir buradan da anlaşılacağı gibi bur da bir koşula bağlı durum belirtiyoruz genel kullanım şekli ise şu şekildedir.
if (koşul):
koşul sağlanıyorsa gerçekleşecek işlem
hemen ufak bir örnek ile başlayalım elimizde x ve y değişkenleri olmak üzere iki adet sayı var. Bunları bir birilerine göre karşılaştıralım.
if x==y:
koşul sağlanıyorsa yapılacak işlemler…
Burada şunu belirttik eğer ; “x ile y sayıları birbirine eşitse…”
Burada x ile y’nin birbirine eşit olma koşulu var. O zaman burada bu koşul durumuna göre bir işlem
yapacağız. burada == (çift eşittir) işleci tabloda gösterdiğimiz gibi birbirine eşit olup olmadığını sorgulayan işleçtir.
Hemen kodumuza dönelim.
x=3
y=3
if x==y:
print("x ile y birbirine eşittir")
Burada x ile y’nin birbirine eşit olma koşulunu sorguluyor eğer eşitse ekrana “a ile b eşittir ” çıktısını verecek aksi taktirde herhangi bir işlem gerçekleşmiyecektir.
Hemen kodumuzu çalıştıralım ve karşımıza şöyle bir hata gelecektir;
![](https://bilisimhocamyusufbalyemez.com/wp-content/uploads/2023/10/deneme.png)
4. satırda girinti hatası aldık peki bu girinti nedir niye girinti hatası verdi.
isterseniz aynı kodu C ile yazalım;
if (x==y)
{
print("x ile y birbirine eşittir")
}
Gördüğünüz gibi ekrana yazı yazdırma işlemini gerçekleştiren print() fonksiyonu süslü parantezlerin içinde yazdık bunun sebebi print() fonksiyonun if koşul deyimine ait olduğunu eğer koşul sağlarsa süslü parantez içindeki işlemler gerçekleşecektir. Python da ise süslü parantez yerine girinti işlemi kullanılır.
Python da Girintileme İşlemleri:
Bu konuya şöyle bir şey göstererek anlatmak istiyorum.
CANLILAR
BİTKİLER
Otlar
Çalılar
Ağaçlar
Kavak
Çınar
HAYVANLAR
Suda Yaşayanlar
Karada Yaşayanlar
Aslan
Kedi
Uçanlar
Yarasa
Kartal
Yukarıda örnekte gördüğünüz gibi bir hiyerarşi söz konusu. Buna yazılımda parent-child (ebeveyn-çocuk) ilişkisi deniliyor. Python’da verilerin hangi kod dizinine ait olduğunu belirtmek için girinti yapısı kullanılır. Bunun için klavyedeki TAB TUŞU kullanın ya da 4 kez boşluk tuşuna basın. Tab tuşu varken 4 kez boşluk tuşuna basmak mantıklı olmaz 🙂
Aşağıda da benzer bir örnek bıraktım.
![](https://bilisimhocamyusufbalyemez.com/wp-content/uploads/2023/10/ekran-217x300-1.png)
Burada görüldüğü gibi bir dosyanın içindeki dosyalar biraz daha içeride, bu o dosyanın bir üst dosyaya ait olduğunu belirtiyor. Python da ki girintileme işlemi de bu şekildedir
Burada ekrana çıktı vermemizi sağlayan kod if koşuluna ait olduğunu belirtiyor. Ayrıca Python da girintinin olması Python kodlarını daha okunaklı kılıyor. Girinti işlemi için ise TAB tuşuna bir kez veya SPACE dört defa basmalısınız.
O zaman kodumuzu tekrar yazarsak
x=3
y=3
if x==y:
print("x ile y birbirine eşittir")
Herhangi bir hata almadık. Detaylı bilgi buradan ulaşabilirsiniz. Python girintileme sistemini öğrendiğimize göre şimdi Python Koşul ifadeleri türlerine bakalım.
else Deyimi:
else deyimi if koşulunu sağlayan durumlar dışındaki kalan bütün durumları göstermek için kullanılır. Bu yüzden bir koşul belirtmiyoruz bu koşul ifadesinde.
Örneğin az önce yaptığımız uygulama koşul sağlanmıyorsa herhangi bir işlem gerçekleşmiyordu. Peki biz koşul sağlanmadığı durumlarda işlem gerçekleştirmeyi nasıl yapacağız tabi ki else deyimi ile gerçekleştireceğiz. Hemen yapalım.
x = 3
y = 3
if x==y:
print("x ile y sayıları birbirine eşittir")
else:
print("x ile y sayıları birbirine eşit değil")
veya şöyle bir örnek verelim elimizde bir parola var kullanıcı parolayı doğru girdiğinde sisteme giriş yapsın eğer yanlış girerse hata mesajını versin;
sifre= "python"
parola = input("Parolayı giriniz :")
if parola==sifre:
print("Başarılı bir şekilde sisteme giriş yaptınız :)")
else:
print("Parolayı yanlış girdiniz...")
NOT!!! Eğer else kullanıldıysa kendinden önceki tüm durumlar doğru değilse “MUTLAKA” else içerisine yazılan kodlar çalışır.
BAŞKA BİR ÖRNEK
birthYear=int(input("Doğum Yılınızı giriniz:"))
#Varsayılan olarak 2024 yılı baz alınır. Siz güncel tarihe göre alın.
age=2024-birthYear
print(f"Hesaplarıma göre {age} yaşındasınız")
Yukarıdaki örnek sizden doğum yılı bilgisi isteyecek. Doğum yılına göre yaşınızı hesaplayacaktır. (Yıl varsayılan olarak 2024 olarak alınmıştır.)
EHLİYET DURUMU SORGULAMA
def ehliyetAlabilirMi(ad,yas):
if yas>=18:
print(f"Merhaba {ad}. Ehliyet alabilirsin.")
else:
print(f"Merhaba {ad}. Üzgünüm ehliyet alamazsın.")
ehliyetAlabilirMi("Ali",25)
ehliyetAlabilirMi("Zeynep",15)
ÇIKTI
Merhaba Ali. Ehliyet alabilirsin.
Merhaba Zeynep. Üzgünüm ehliyet alamazsın.
elif Deyimi:
Bir durumun sağlanması birden fazla koşula bağlıysa elif deyimi kullanılır.
if(koşul):
işlemlerelif(koşul):
işlemlerelif(koşul):
işlemler
.
.
.
şeklinde kullanımı var hemen bir örnekle gösterelim.
Örneğin kullanıcıdan vize ve final sonuçlarını alalım ortalamayı hesaplayan sonra bu ortalamaya göre bir harf notu veren programı yazalım.
"""Harf notu Hesaplama Programı"""
vize = int(input("Vize Notu :"))
final = int(input("Final Notu :"))
ortalama = (vize*0.4)+ (final*0.6) # vizenin %40 final %60 olarak alındı
if (ortalama>=85):
print("Harf notunuz : AA0")
elif(ortalama>=70 and ortalama <85):
print("Harf notunuz : BA")
elif(ortalama>=60 and ortalama <70):
print("Harf notunuz : BB")
elif (ortalama >= 45 and ortalama < 60):
print("Harf notunuz : CB")
elif(ortalama>=0 and ortalama <45):
print("Harf notunuz : FF")
şeklinde kaba taslak bir uygulama yaptım siz burada ayrıca vize ve final notlarını 0-100 bir değer girmesini sağlayabilirsiniz.
NOT!!!: Herhangi bir şart sağlandığında kendinden sonraki şartlara bakmadan kontrol durumunu bitirir. Yukarıda örnekte eğer ortalama 70 ile 85 arasındaysa daha sonraki elif satırlarına bakmadan kontrol durumunu bitirecektir.
Yukarıdaki örnekte olduğu gibi belirli aralık vermek ya da istenen değer belirli aralıkta olup olmadığını sorgulamak istiyorsak python’a özgü olarak aralığı şu şekilde de belirtebilirdiniz.
"""Harf notu Hesaplama Programı"""
vize = int(input("Vize Notu :"))
final = int(input("Final Notu :"))
ortalama = (vize*0.4)+ (final*0.6) # vizenin %40 final %60 olarak alındı
if (ortalama>=85):
print("Harf notunuz : AA0")
elif(70<=ortalama<85):
print("Harf notunuz : BA")
elif(60<=ortalama<70):
print("Harf notunuz : BB")
elif (45<=ortalama<60):
print("Harf notunuz : CB")
elif(0<=ortalama<45):
print("Harf notunuz : FF")
ÇALIŞMA UYGULAMALARI
Uygulamaları kaydederken uygulama isimlerine göre kayıt edin. Örneğin 1. Uygulama Geçme Durumu Sorgulama.py şeklinde kayıt edilmelidir.
1- Geçme Durumu Sorgulama
Öğrenciden final notunu alın. Eğer final notu 50 ve üzeriyse “Geçtiniz” değilse “Kaldınız” yazdırın.
2- Mevsim Bulma
Kullanıcıdan bir ay ismi alın ve bu aya göre mevsimi yazdırın. (Örneğin, Haziran, Temmuz, Ağustos için “Yaz” mevsimi.)
3 – Sinema Bileti Yaş İndirimi
Kullanıcıdan yaşını alın. 18 yaşından küçükse “İndirimli bilet”, 65 yaşından büyükse “Yaşlı bilet”, diğer durumlarda “Standart bilet” çıktısını verin.
4- Sınıf Geçme Durumu
Öğrenciden ders adı ve notunu alın. Eğer not 50’den büyükse “Dersi Geçtiniz”, değilse “Dersi Geçemediniz” yazdırın. Ders adı “matematik” ise ve not 70’ten büyükse “Tebrikler, matematikte çok başarılısınız!” ek mesajını verin.
5-Sıcaklık Uyarısı
Kullanıcıdan hava sıcaklığını alın. Sıcaklık 0 derecenin altındaysa “Don riski var!”, 30 derecenin üstündeyse “Sıcak hava dalgası!”, diğer durumlar için “Normal hava koşulları.” yazdırın.
Detaylı bilgi için aşağıdaki videoyu izleyip uygulayabilirsiniz. İyi çalışmalar
Seviliyosunuz Yusuf Hocam 🙂
Hocam site mükemmel. Helal olsun.