İç İç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.
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):
- Bir
agedeğişkeni tanımlanmış ve girdiden bir değer atanmıştır - Bir
with_parentdeğişkeni tanımlanmış ve bir boolean değer atanmıştır — girdi"true"iseTrue, girdi"false"iseFalseolur - Bir
messagedeğ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:
- Eğer yaş 18 veya daha büyükse,
messagedeğişkenini"You can watch any movie"olarak ayarlayın. - Eğer yaş 18'den küçükse:
- Eğer
with_parentdeğeriTrueise,messagedeğişkenini"You can watch PG-13 movies"olarak ayarlayın. - Eğer
with_parentdeğeriFalseise,messagedeğişkenini"You can only watch G-rated movies"olarak ayarlayın.
- Eğer
Ö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)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
4Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Mantıksal Operatörler Bölüm 47Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıGirdi Alma8Döngüler
For DöngüsüWhile DöngüsüBreakContinueÖzet - FaktöriyelRange Fonksiyonuİç İçe DöngülerÖzet - Dinamik Girdi3Operatörler Bölüm 1
Aritmetik OperatörlerModulo OperatörüAritmetik KısayollarÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel Girdi/Çıktı
ÇıktıDeğişkenlerle ÇıktıGirdiTip DönüşümüÖzet - 120'ye KadarÖzet - Doğru veya Yanlış9Fonksiyonlar
Fonksiyon TanımlamaArgümanlarReturnÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Değerler