Menu
Coddy logo textTech

İç İçe If - Else

Coddy'nin Python Journey'sinin Fundamentals bölümünün bir parçası — ders 23 / 77.

İç içe geçmiş If-Else ifadeleri, bir if-else ifadesini diğerinin içine yerleştirerek birden fazla koşulu kontrol etmenize olanak tanır. Bir else bloğunun içine bir if bloğu yerleştirebilirsiniz — bu, Python'da yaygın ve geçerli bir kalıptır.

Temel bir if-else ifadesi oluşturun:

age = 18
title = "None"
if age >= 18:
    title = "Adult"
else:
    title = "Minor"

Şimdi else bloğunun içine iç içe geçmiş bir koşul ekleyelim:

age = 18
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
else:
    title = "Minor"
    if age >= 13:
        title = "Teenager"
    else:
        title = "Child"

Ayrıca if bloğunun içine bir koşul yerleştirebilirsiniz:

age = 25
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
    if age >= 21:
        allowed_to_drink = True
    else:
        allowed_to_drink = False
else:
    title = "Minor"

Her iki örnekte de, içteki if-else yalnızca onu içeren dış koşul karşılandığında yürütülür. Bir else bloğunun içine (veya bir if bloğunun içine) bir if ifadesi yerleştirmek tamamen geçerlidir — onu "iç içe" (nested) yapan tam olarak budur.

challenge icon

Görev

Başlangıç

Yaş ve ebeveyn rehberliğine göre bir filme uygunluğu belirleyen bir program yazın.

Verilen kod (değiştirmeyin):

  1. Bir age değişkeni tanımlanmış ve girdiden bir değer atanmıştır
  2. Bir with_parent değişkeni tanımlanmış ve bir boolean değer atanmıştır — girdi "true" ise True, girdi "false" ise False olur
  3. Bir message değişkeni "None" değeri ile tanımlanmıştır

Göreviniz:
message değişkenini aşağıdaki dizelerden birine ayarlamak için iç içe if-else ifadeleri kullanın:

  1. Eğer yaş 18 veya daha büyükse, message değişkenini "You can watch any movie" olarak ayarlayın.
  2. Eğer yaş 18'den küçükse:
    1. Eğer with_parent değeri True ise, message değişkenini "You can watch PG-13 movies" olarak ayarlayın.
    2. Eğer with_parent değeri False ise, message değişkenini "You can only watch G-rated movies" olarak ayarlayın.

Önemli: with_parent zaten bir boolean olduğu için, onu doğrudan kontrol edin (örneğin, if with_parent:) — onu "true" veya "True" gibi bir dizeyle karşılaştırmayın.

Önemli: Dizeler, büyük/küçük harf ve noktalama işaretleri dahil olmak üzere tam olarak eşleşmelidir. Örneğin, "PG-13 Movies" değil, "PG-13 movies" (küçük 'm') kullanın.

Kopya kağıdı

İç içe geçmiş if-elif-else ifadeleri hiyerarşik karar vermeye olanak tanır:

if condition1:
    if condition2:
        # Her iki koşulun da doğru olduğu durum için kod
    else:
        # condition1'in doğru ancak condition2'nin yanlış olduğu durum için kod
else:
    # condition1'in yanlış olduğu durum için kod

İç içe geçmiş koşul örneği:

if age > 18:
    if has_license:
        print("You can drive")
    else:
        print("Get a license first")
else:
    print("Too young to drive")

İç içe geçme sonsuz olabilir ve karmaşık karar ağaçlarına olanak tanır:

if condition1:
    if condition2:
        if condition3:
            # Daha fazla iç içe geçmiş koşul...

Kendin dene

# Yaşı tam sayı olarak al
age = int(input())

# Ebeveyn rehberliğini boolean (True/False) olarak al
with_parent = input() == "true"

# "None" değeriyle message adında bir değişken tanımla
message = "None"

# İç içe if-else kodunuzu buraya yazın


# Bu satırın altını değiştirmeyin
print(message)
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Fundamentals bölümündeki tüm dersler