Koşullu İfadeler: Python If Elif Else Kullanımı
Python programlama dilinde kod akışını yönetmek ve programın belirli durumlara göre farklı tepkiler vermesini sağlamak için kullanılan en temel yapı koşullu ifadelerdir. Koşullu İfadeler: Python If Elif Else kullanımı, bir yazılımın mantıksal kararlar almasını sağlayan, kullanıcı etkileşiminden veri analizine kadar her alanda hayati öneme sahip olan bir mekanizmadır. Tıpkı günlük hayatta “Hava yağmurluysa şemsiye al, değilse güneş gözlüğü tak” şeklinde kurduğumuz mantık silsilesi, Python’da bu anahtar kelimelerle bilgisayara aktarılır.
- Python’da if, elif ve else bloklarının temel çalışma mantığını kavrayacaksınız.
- Karşılaştırma operatörlerini (==, !=, <, >) kullanarak koşul yazmayı öğreneceksiniz.
- Mantıksal operatörler (and, or, not) ile karmaşık sorgular oluşturabileceksiniz.
- Python’un en kritik kuralı olan girinti (indentation) sistemini hatasız uygulayacaksınız.
- İç içe geçmiş (nested) koşullu yapılarla detaylı karar mekanizmaları kuracaksınız.
- If: Bir koşulun doğru (True) olup olmadığını kontrol eder.
- Elif: İlk koşul yanlışsa, alternatif bir koşulu test eder.
- Else: Yukarıdaki hiçbir koşul sağlanmadığında çalışacak olan son bloktur.
- Girinti: Python’da kod bloklarını ayırmak için mutlaka 4 boşluk veya 1 tab kullanılmalıdır.
Python If İfadesi: Karar Vermenin İlk Adımı
Python’da bir program yazarken, kodun her satırının her zaman çalışmasını istemeyiz. Bazı kod parçaları sadece belirli şartlar oluştuğunda çalışmalıdır. İşte bu noktada if ifadesi devreye girer. If kelimesi Türkçe karşılığıyla “eğer” anlamına gelir. Eğer belirttiğimiz matematiksel veya mantıksal önerme doğruysa, Python o if bloğunun içine girer ve oradaki komutları yürütür.
Bir if ifadesi oluştururken dikkat edilmesi gereken en önemli husus, koşuldan sonra mutlaka iki nokta üst üste (:) işaretinin konulmasıdır. Bu işaret, Python’a “şimdi bir kod bloğu başlıyor” mesajını verir. Eğer bu işareti unutursanız, programınız daha çalışmadan hata verecektir.
Sıcaklık değerine göre bir uyarı veren basit bir program yazalım:
sicaklik = 25
if sicaklik > 20:
print(“Hava bugün oldukça sıcak!”)
Yukarıdaki örnekte, sicaklik değişkeni 20’den büyük olduğu için ekrana mesaj yazdırılacaktır. Ancak sicaklik 15 olsaydı, program hiçbir çıktı vermeden sonlanacaktı. Bu, if yapısının sadece doğru durumlarda çalıştığının en net göstergesidir.
Girinti (Indentation) Kuralı: Python’ın İmzası
Pek çok programlama dilinde (C++, Java, JavaScript gibi) kod blokları süslü parantezler {} ile belirlenir. Ancak Python, kodun daha temiz ve okunabilir olması için girinti (indentation) sistemini kullanır. Bir if ifadesinden sonra gelen ve o koşula bağlı olan tüm satırlar, bir miktar içeriden (genellikle 4 boşluk) yazılmalıdır.
Girinti sistemi sadece bir yazım kuralı değil, dilin yapısal bir zorunluluğudur. Bu sayede Python kodları, diğer dillerle kıyaslandığında çok daha derli toplu ve kitap gibi okunabilir bir yapıya sahip olur. Yeni başlayanların en çok yaptığı hata, bu boşlukları düzensiz kullanmaktır. Kodunuzu yazarken her zaman tutarlı bir boşluk miktarı kullandığınızdan emin olun.
Elif İfadesi ile Çoklu Koşul Kontrolü
Hayat her zaman sadece “doğru” veya “yanlış”tan ibaret değildir; bazen ikiden fazla seçenekle karşılaşırız. Python’da “eğer ilk durum değilse, şu duruma bak” demek için elif (else if’in kısaltması) ifadesini kullanırız. İstediğiniz kadar elif bloğu ekleyerek programınızın karar verme kapasitesini genişletebilirsiniz.
Elif blokları, sadece kendisinden önceki if veya elif blokları yanlış (False) sonuç verdiğinde kontrol edilir. Eğer en üstteki if doğruysa, Python diğer elif bloklarını kontrol etme gereği duymaz ve doğrudan yapının dışına çıkar. Bu, programın performansını artıran önemli bir özelliktir.
Bir öğrencinin notuna göre harf notu belirleyelim:
not_ortalamasi = 75
if not_ortalamasi >= 90:
print(“Harf Notunuz: AA”)
elif not_ortalamasi >= 80:
print(“Harf Notunuz: BA”)
elif not_ortalamasi >= 70:
print(“Harf Notunuz: BB”)
Bu örnekte program yukarıdan aşağıya doğru kontrol eder. 75 değeri 90’dan ve 80’den büyük değildir, ancak 70’ten büyüktür. Bu yüzden ekrana “BB” yazdırılır ve işlem tamamlanır.
Else İfadesi: Son Çare ve Varsayılan Durum
Tüm koşullar denendikten sonra, eğer hiçbirisi doğru çıkmadıysa ne yapılacağını belirlemek için else ifadesini kullanırız. Else ifadesi herhangi bir koşul içermez; sadece “yukarıdakilerin hiçbiri olmadıysa burayı çalıştır” der. Bir if-elif-else zincirinde sadece bir tane else bulunabilir ve bu her zaman en sonda yer almalıdır.
Else bloğu kullanmak, programınızın belirsiz durumlarda dahi bir çıktı üretmesini sağlar. Kullanıcıdan alınan hatalı girişleri yönetmek veya beklenmedik durumları kapsamak için else yapısı oldukça kullanışlıdır.
Karşılaştırma Operatörleri: Koşulları Belirlemek
Koşullu ifadelerin kalbinde karşılaştırma operatörleri yatar. Bu operatörler iki değeri birbiriyle kıyaslar ve sonuç olarak True (Doğru) veya False (Yanlış) değerini döndürür. Python’da en sık kullanılan karşılaştırma operatörleri şunlardır:
| Operatör | Anlamı | Örnek Kullanım |
|---|---|---|
| == | Eşit mi? | x == y |
| != | Eşit değil mi? | x != y |
| > | Büyüktür | a > b |
| < | Küçüktür | c < d |
| >= | Büyük veya eşittir | z >= 10 |
| <= | Küçük veya eşittir | m <= 5 |
Burada en çok dikkat edilmesi gereken operatör “==” (eşittir) operatörüdür. Tek bir eşittir işareti (=) atama yapmak için kullanılırken (örneğin x = 5), iki tane eşittir işareti karşılaştırma yapmak için kullanılır. Bu, yeni başlayan yazılımcıların en sık düştüğü hatalardan biridir.
Mantıksal Operatörler: Karmaşık Mantık Kurma
Bazen tek bir koşul yeterli olmaz. Örneğin, bir web sitesine giriş yapmak için hem kullanıcı adının hem de şifrenin doğru olması gerekir. Bu tür durumlar için and, or ve not mantıksal operatörlerini kullanırız.
- And (Ve): Her iki yanındaki koşul da doğruysa True döner.
- Or (Veya): Koşullardan en az biri doğruysa True döner.
- Not (Değil): Koşulun sonucunu tersine çevirir. True ise False, False ise True yapar.
İç İçe (Nested) Koşullu İfadeler
Python’da bir if bloğunun içine başka bir if bloğu yazmak mümkündür. Buna iç içe (nested) koşullu ifadeler denir. Bu yapı, bir koşulun gerçekleşmesi başka bir alt koşula bağlı olduğunda kullanılır. Ancak iç içe yapıları çok fazla kullanmak kodun okunabilirliğini zorlaştırabilir, bu yüzden dikkatli olunmalıdır.
Örneğin, bir kişinin ehliyet alıp alamayacağını kontrol ederken önce yaşını, eğer yaşı uygunsa sağlık raporunun olup olmadığını kontrol edebilirsiniz. Burada ikinci kontrol (sağlık raporu), sadece birinci kontrol (yaş) başarılı olursa anlam kazanır.
Tek Satırda If (Ternary Operator) Kullanımı
Python, basit koşulları daha kısa yazmanıza olanak tanıyan bir yapıya da sahiptir. Buna “ternary operator” denir. Eğer sadece iki seçenekli ve çok basit bir işlem yapacaksanız, 4-5 satırlık kodu tek bir satıra indirebilirsiniz.
durum = “Geçti” if not_ortalamasi >= 50 else “Kaldı”
Bu kullanım tarzı, özellikle değişkenlere değer atarken kodun daha şık görünmesini sağlar. Ancak karmaşık mantıklar için her zaman standart if-else bloklarını kullanmak, kodun bakımı açısından daha doğrudur.
Öğrendiklerinizi Pekiştirin
Koşullu ifadeler, Python öğrenme yolculuğunuzda attığınız en büyük adımlardan biridir. Bu yapıları tam olarak kavradığınızda, programlarınıza bir “beyin” eklemiş olursunuz. Kendi başınıza denemeler yapmak, farklı senaryolar (örneğin bir ATM simülasyonu veya bir oyun karakterinin can puanına göre durum değişimi) kurgulamak öğrenme sürecinizi hızlandıracaktır.
- Kullanıcıdan bir sayı alan ve bu sayının tek mi yoksa çift mi olduğunu ekrana yazdıran bir Python kodu yazın.
- Bir kullanıcı adı ve şifre değişkeni oluşturun. Eğer her ikisi de doğruysa “Giriş Başarılı”, en az biri yanlışsa “Bilgiler Hatalı” yazdıran yapıyı kurun.
- Hava sıcaklığı 0’ın altındaysa “Donma Tehlikesi”, 0-15 arasındaysa “Soğuk”, 15-30 arasındaysa “Ilık”, 30’un üstündeyse “Çok Sıcak” yazdıran bir program tasarlayın.
- Python’da girinti hatası (IndentationError) aldığınızda ilk olarak kodun neresini kontrol etmelisiniz?
- If-elif-else yapısı programın akışını kontrol eden temel karar mekanizmasıdır.
- Python’da bloklar girintilerle (indentation) ayrılır; bu kurala uymamak hata sebebidir.
- And, or ve not operatörleri ile birden fazla koşul birleştirilebilir.
- Karşılaştırma operatörleri (==, !=, <, >) koşulların temelini oluşturur.
- Else her zaman en sonda yer alır ve yukarıdaki hiçbir şartın uymadığı durumları kapsar.