Verschachteltes If - Else
Teil des Abschnitts Fundamentals der Python-Journey von Coddy — Lektion 23 von 77.
Verschachtelte If-Else-Anweisungen ermöglichen es Ihnen, mehrere Bedingungen zu prüfen, indem Sie eine if-else-Anweisung in eine andere einfügen. Sie können einen if-Block in einen else-Block verschachteln — dies ist ein gängiges und gültiges Muster in Python.
Erstellen Sie eine einfache if-else-Anweisung:
age = 18
title = "None"
if age >= 18:
title = "Adult"
else:
title = "Minor"Fügen wir nun eine verschachtelte Bedingung innerhalb des else-Blocks hinzu:
age = 18
title = "None"
allowed_to_drink = False
if age >= 18:
title = "Adult"
else:
title = "Minor"
if age >= 13:
title = "Teenager"
else:
title = "Child"Sie können auch eine Bedingung innerhalb des if-Blocks verschachteln:
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"In beiden Beispielen wird das innere if-else nur ausgeführt, wenn die äußere Bedingung, die es enthält, erfüllt ist. Das Platzieren einer if-Anweisung innerhalb eines else-Blocks (oder innerhalb eines if-Blocks) ist völlig zulässig — genau das macht sie „verschachtelt“.
Aufgabe
AnfängerSchreiben Sie ein Programm, das die Berechtigung für einen Film basierend auf dem Alter und der elterlichen Begleitung bestimmt.
Vorgegebener Code (nicht ändern):
- Eine Variable
ageist definiert und ihr wird ein Wert aus der Eingabe zugewiesen - Eine Variable
with_parentist definiert und ihr wird ein boolescher Wert zugewiesen — sie istTrue, wenn die Eingabe"true"ist, oderFalse, wenn die Eingabe"false"ist - Eine Variable
messageist mit dem Wert"None"definiert
Ihre Aufgabe:
Verwenden Sie verschachtelte if-else-Anweisungen, um die Variable message auf eine der folgenden Zeichenfolgen zu setzen:
- Wenn das Alter 18 oder älter ist, setzen Sie
messageauf"You can watch any movie". - Wenn das Alter unter 18 ist:
- Wenn
with_parentden WertTruehat, setzen Siemessageauf"You can watch PG-13 movies". - Wenn
with_parentden WertFalsehat, setzen Siemessageauf"You can only watch G-rated movies".
- Wenn
Wichtig: Da with_parent bereits ein boolescher Wert ist, prüfen Sie ihn direkt (z. B. if with_parent:) — vergleichen Sie ihn nicht mit einer Zeichenfolge wie "true" oder "True".
Wichtig: Die Zeichenfolgen müssen exakt übereinstimmen — einschließlich Groß-/Kleinschreibung und Interpunktion. Verwenden Sie zum Beispiel "PG-13 movies" (kleines 'm'), nicht "PG-13 Movies".
Spickzettel
Verschachtelte if-elif-else-Anweisungen ermöglichen eine hierarchische Entscheidungsfindung:
if condition1:
if condition2:
# Code, wenn beide Bedingungen wahr sind
else:
# Code, wenn condition1 wahr, aber condition2 falsch ist
else:
# Code, wenn condition1 falsch ist
Beispiel für verschachtelte Bedingungen:
if age > 18:
if has_license:
print("You can drive")
else:
print("Get a license first")
else:
print("Too young to drive")Verschachtelungen können unendlich sein und ermöglichen komplexe Entscheidungsbäume:
if condition1:
if condition2:
if condition3:
# Weitere verschachtelte Bedingungen...
Probier es selbst
# Alter als Ganzzahl abrufen
age = int(input())
# Elterliche Begleitung als Boolean abrufen (True/False)
with_parent = input() == "true"
# Deklariere eine Variable namens message mit "None"
message = "None"
# Schreibe hier deinen verschachtelten if-else-Code
# Nichts unterhalb dieser Zeile ändern
print(message)Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 42Variablen
ZahlenStringsBooleanBenennungskonventionenLeere VariablenRückblick - Variablen initialisieren5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakContinueWiederholung - FakultätDie Range-FunktionVerschachtelte SchleifeWiederholung - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
AusgabeAusgabe mit VariablenEingabeTypumwandlungWiederholung - Bis 120Wiederholung - Wahr oder Falsch9Funktionen
Funktion deklarierenArgumenteRückgabeWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandardwerte12Iterieren über Sequenzen
Iterieren über ElementeDie Enumerate-FunktionIterieren über Strings Teil 1Iterieren über Strings Teil 2