Python'da if else: Koşullu İfadeler Kılavuzu

Açık örneklerle Python if else ifadelerinde ustalaşın. Sözdizimi, en iyi uygulamalar ve yaygın kullanım durumlarını öğrenin. İnteraktif kod örnekleri ve eğitimleri içerir.

Python'daki if else ifadesi, bir koşul doğru olduğunda bir kod bloğunu ve koşul yanlış olduğunda başka bir kod bloğunu çalıştırarak iki yönlü karar verme sağlar. Koşul yanlış olduğunda hiçbir şey yapmayan basit bir if ifadesinin aksine, if else iki kod yolundan birinin her zaman çalışacağını garanti eder. Bu, hem başarı hem de başarısızlık senaryolarını ele alması gereken programlar oluşturmak için gereklidir.

Temel if else Sözdizimi

if else ifadesi, koşul False olarak değerlendirildiğinde alternatif bir eylem ekleyerek temel if ifadesini genişletir.

if condition:
    # code to execute if condition is True
    statement1
else:
    # code to execute if condition is False
    statement2

else anahtar kelimesi, if koşulu tarafından yakalanmayan her şeyi yakalar ve if ifadesi tarafından kapsanmayan senaryolar için bir "yakalama tümü" görevi görür. Python, if ve else anahtar kelimelerinden sonra iki nokta üst üste (:) kullanır, ardından girintili kod blokları gelir.

Örnek 1: Basit if else İfadesi

a = 200
b = 33

if b > a:
    print("b is greater than a")
else:
    print("b is not greater than a")
Çıktı:
b is not greater than a

Since 33 is not greater than 200, the condition is false, so the else block executes.

if else Nasıl Çalışır

if else ifadesi basit bir yürütme akışı izler:

  1. Python, if anahtar kelimesinden sonraki koşulu değerlendirir
  2. Koşul True ise, ilk girintili blok çalıştırılır ve else bloğu atlanır
  3. Koşul False ise, ilk blok atlanır ve else bloğu çalıştırılır
  4. Bloklardan biri tamamlandıktan sonra, yürütme tüm if else yapısından sonraki kodla devam eder

Örnek: Sıcaklık Kontrolü

temperature = 15

if temperature > 20:
    print("It's warm outside")
else:
    print("It's cool outside")

print("Have a nice day!")
Çıktı:
It's cool outside
Have a nice day!

Son print ifadesi, hangi dalın alındığına bakılmaksızın çalıştırılır.

if else ile Değerleri Karşılaştırma

if else ifadesi, sayısal veya dize değerlerine dayalı kararlar vermek için yaygın olarak karşılaştırma operatörleri kullanır.

Örnek 1: Sayı Karşılaştırması

number = 7

if number % 2 == 0:
    print("The number is even")
else:
    print("The number is odd")
Çıktı:
The number is odd

Örnek 2: Dize Karşılaştırması

username = "admin"

if username == "admin":
    print("Welcome, Administrator!")
else:
    print("Welcome, User!")
Çıktı:
Welcome, Administrator!

Örnek 3: Yaş Doğrulama

age = 16

if age >= 18:
    print("You are eligible to vote")
else:
    print("You are not eligible to vote yet")
Çıktı:
You are not eligible to vote yet

if else Bloklarında Birden Fazla İfade

if ve else bloklarının her ikisi de tutarlı girinti sağladıkları sürece birden fazla ifade içerebilir.

Örnek:

score = 85

if score >= 90:
    print("Excellent performance!")
    print("You earned an A grade")
    grade = "A"
    bonus_points = 10
else:
    print("Good effort!")
    print("Keep working hard")
    grade = "B"
    bonus_points = 5

print(f"Your grade is: {grade}")
print(f"Bonus points: {bonus_points}")
Çıktı:
Good effort!
Keep working hard
Your grade is: B
Bonus points: 5

Tek Satırlık if else (Üçlü Operatör)

Tek ifadeli basit koşullar için, Python daha özlü kod oluşturmak için bir satırda if else yazmanıza izin verir.

Standart Format:

age = 20

if age >= 18:
    status = "adult"
else:
    status = "minor"

print(status)

Tek Satır Formatı (Üçlü Operatör):

age = 20
status = "adult" if age >= 18 else "minor"
print(status)
Çıktı:
adult

More Examples:

# Example 1: Maximum of two numbers
a = 10
b = 20
max_value = a if a > b else b
print(f"Maximum: {max_value}")  # Output: Maximum: 20

# Example 2: Pass/Fail determination
marks = 75
result = "Pass" if marks >= 50 else "Fail"
print(result)  # Output: Pass

# Example 3: Sign determination
number = -5
sign = "Positive" if number > 0 else "Non-positive"
print(sign)  # Output: Non-positive

Bu kompakt sözdizimi, basit atamalar ve hızlı koşullar için özellikle kullanışlıdır.

Koşulları Mantıksal Operatörlerle Birleştirme

if else ifadelerinde karmaşık koşullar oluşturmak için and, or ve not operatörlerini kullanabilirsiniz.

Örnek 1: and Operatörünü Kullanma

age = 25
has_license = True

if age >= 18 and has_license:
    print("You can drive")
else:
    print("You cannot drive")
Çıktı:
Araba kullanabilirsiniz

Örnek 2: or Operatörünü Kullanma

day = "Saturday"

if day == "Saturday" or day == "Sunday":
    print("It's the weekend!")
else:
    print("It's a weekday")
Çıktı:
Hafta sonu!

Örnek 3: not Operatörünü Kullanma

is_raining = False

if not is_raining:
    print("You don't need an umbrella")
else:
    print("Take an umbrella")
Çıktı:
You don't need an umbrella

Örnek 4: Sıcaklık Aralığı Kontrolü

temperature = 35

if temperature > 30 and temperature < 40:
    print("It's a hot day!")
else:
    print("Temperature is moderate")
Çıktı:
It's a hot day!

İç İçe if else İfadeleri

Birden fazla karar verme seviyesini ele almak için if else ifadelerini diğer if else ifadelerinin içine yerleştirebilirsiniz.

Örnek 1: Temel İç İçe Geçme

number = 10

if number >= 0:
    if number == 0:
        print("Number is zero")
    else:
        print("Number is positive")
else:
    print("Number is negative")
Çıktı:
Number is positive

Örnek 2: İç İçe Geçme ile Not Sınıflandırması

marks = 85

if marks >= 50:
    print("You passed!")
    if marks >= 90:
        print("Grade: A - Excellent!")
    else:
        print("Grade: B - Good job!")
else:
    print("You failed")
    print("Please retake the exam")
Çıktı:
You passed!
Grade: B - Good job!

Örnek 3: Çok Seviyeli Kullanıcı Kimlik Doğrulama

username = "admin"
password = "secret123"

if username == "admin":
    if password == "secret123":
        print("Access granted")
        print("Welcome to admin panel")
    else:
        print("Incorrect password")
else:
    print("User not found")
Çıktı:
Access granted
Welcome to admin panel

İç içe geçme güçlü olsa da, aşırı iç içe geçme kodu okumayı zorlaştırabilir—daha temiz çoklu koşul mantığı için elif kullanmayı düşünün.

if else ile Kullanıcı Girişini Doğrulama

if else ifadesi, giriş doğrulama ve hata işleme için gereklidir.

Örnek 1: Boş Dize Kontrolü

username = ""

if len(username) > 0:
    print(f"Welcome, {username}!")
else:
    print("Error: Username cannot be empty")
Çıktı:
Error: Username cannot be empty

Örnek 2: Şifre Uzunluk Doğrulama

password = "abc"

if len(password) >= 8:
    print("Password is valid")
else:
    print("Password must be at least 8 characters")
Çıktı:
Password must be at least 8 characters

Örnek 3: Sayısal Aralık Doğrulama

age = 150

if age > 0 and age <= 120:
    print(f"Age {age} is valid")
else:
    print("Invalid age entered")
Çıktı:
Invalid age entered

Örnek 4: Liste Üyeliği Kontrolü

allowed_users = ["alice", "bob", "charlie"]
current_user = "david"

if current_user in allowed_users:
    print("Access granted")
else:
    print("Access denied")
Çıktı:
Access denied

elif ile Genişletme

Bu sayfa if else üzerine odaklansa da, birden fazla koşulu sırayla test etmek için if ve else arasına elif (else if) ekleyebilirsiniz.

temperature = 22

if temperature > 30:
    print("It's hot outside!")
elif temperature > 20:
    print("It's warm outside")
elif temperature > 10:
    print("It's cool outside")
else:
    print("It's cold outside!")
Çıktı:
It's warm outside

else ifadesi en sonda gelmeli ve başka hiçbir koşul doğru olmadığında varsayılan olarak hareket etmelidir.

Yaygın Kullanım Durumları

Kullanım Durumu 1: Giriş Sistemi

stored_password = "python123"
entered_password = "python123"

if entered_password == stored_password:
    print("Login successful")
else:
    print("Invalid password")
Çıktı:
Login successful

Kullanım Durumu 2: İndirim Hesaplayıcı

purchase_amount = 120

if purchase_amount >= 100:
    discount = purchase_amount * 0.10
    print(f"You get a 10% discount: ${discount}")
else:
    print("No discount available")
Çıktı:
You get a 10% discount: $12.0

Kullanım Durumu 3: Geçti/Kaldı Sistemi

exam_score = 45
passing_score = 50

if exam_score >= passing_score:
    print("Congratulations! You passed")
else:
    print(f"Sorry, you need {passing_score - exam_score} more points to pass")
Çıktı:
Sorry, you need 5 more points to pass

Kullanım Durumu 4: Dosya Uzantısı Kontrolcüsü

filename = "document.pdf"

if filename.endswith(".pdf"):
    print("This is a PDF file")
else:
    print("This is not a PDF file")
Çıktı:
This is a PDF file

Kullanım Durumu 5: Artık Yıl Kontrolcüsü

year = 2024

if year % 4 == 0:
    print(f"{year} is a leap year")
else:
    print(f"{year} is not a leap year")
Çıktı:
2024 is a leap year

Kaçınılması Gereken Yaygın Hatalar

Hata 1: İki Nokta Üst Üsteyi Unutma

# Wrong
if number > 0
    print("Positive")
else
    print("Not positive")

# Correct
if number > 0:
    print("Positive")
else:
    print("Not positive")

Hata 2: Tutarsız Girinti

# Wrong
if age >= 18:
    print("Adult")
else:
  print("Minor")  # Different indentation

# Correct
if age >= 18:
    print("Adult")
else:
    print("Minor")

Hata 3: else'den Sonra elif Kullanma

# Wrong
if x > 0:
    print("Positive")
else:
    print("Not positive")
elif x < 0:  # SyntaxError
    print("Negative")

# Correct
if x > 0:
    print("Positive")
elif x < 0:
    print("Negative")
else:
    print("Zero")

Hata 4: Boş Kod Blokları

# Wrong
if condition:
    # Code here
else:
    # This will cause an error

# Correct - use pass for placeholder
if condition:
    print("Condition met")
else:
    pass  # Do nothing

Yer tutucu için pass kullanın

En İyi Uygulamalar

Uygulama 1: Koşulları Basit ve Okunabilir Tutun

# Less readable
if not (age < 18 or not has_permission):
    print("Allowed")

# More readable
if age >= 18 and has_permission:
    print("Allowed")

Uygulama 2: Anlamlı Değişken İsimleri Kullanın

# Poor
if x > 100:
    y = True

# Better
if purchase_amount > 100:
    eligible_for_discount = True

Uygulama 3: Her İki Yolu da Açıkça İşleyin

# When both outcomes matter, use if else
file_exists = True

if file_exists:
    print("Loading file...")
else:
    print("Creating new file...")

Her iki sonuç da önemli olduğunda, if else kullanın

Uygulama 4: Derin İç İçe Geçmeden Kaçının

# Harder to read
if condition1:
    if condition2:
        if condition3:
            action()

# Better - use elif or logical operators
if condition1 and condition2 and condition3:
    action()

Kendiniz Deneyin

if else ifadeleriyle deney yapın

Hazır
main.py
Çıktı Konsolu 0 ms
// Sonuçları görmek için "Kodu Çalıştır"a tıklayın

İlgili Konular

Sık Sorulan Sorular

Python'da if ve if else arasındaki fark nedir?

Bir if ifadesi yalnızca koşul doğru olduğunda kod çalıştırır ve aksi takdirde hiçbir şey yapmaz. Bir if else ifadesi, iki kod bloğundan birinin çalışacağını garanti eder—koşul doğru olduğunda if bloğu veya yanlış olduğunda else bloğu.

elif olmadan bir if else'ye sahip olabilir miyim?

Evet, if else elif olmadan mükemmel çalışır. elif anahtar kelimesi yalnızca birden fazla koşulu sırayla test etmek istediğinizde gereklidir.

Python if else ifadelerinde koşulların etrafında parantez kullanmam gerekir mi?

Hayır, parantezler isteğe bağlıdır. Hem if (x > 5): hem de if x > 5: geçerlidir, ancak ikincisi Python'da daha yaygın olarak kullanılır.

Bir satırda if else kullanabilir miyim?

Evet, Python üçlü operatörü destekler: result = "yes" if condition else "no". Bu, basit atamalar için kullanışlıdır.

Bir else bloğunda kodu girintilemeyi unutursam ne olur?

Python, kod bloklarını tanımlamak için tutarlı girinti gerektirdiğinden bir IndentationError yükseltecektir.

else, if olmadan kendi başına görünebilir mi?

Hayır, else her zaman önceki bir if ifadesiyle eşleşmelidir. else ifadesini bağımsız olarak kullanamazsınız.