Menu
Coddy logo textTech

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“.

challenge icon

Aufgabe

Anfänger

Schreiben Sie ein Programm, das die Berechtigung für einen Film basierend auf dem Alter und der elterlichen Begleitung bestimmt.

Vorgegebener Code (nicht ändern):

  1. Eine Variable age ist definiert und ihr wird ein Wert aus der Eingabe zugewiesen
  2. Eine Variable with_parent ist definiert und ihr wird ein boolescher Wert zugewiesen — sie ist True, wenn die Eingabe "true" ist, oder False, wenn die Eingabe "false" ist
  3. Eine Variable message ist mit dem Wert "None" definiert

Ihre Aufgabe:
Verwenden Sie verschachtelte if-else-Anweisungen, um die Variable message auf eine der folgenden Zeichenfolgen zu setzen:

  1. Wenn das Alter 18 oder älter ist, setzen Sie message auf "You can watch any movie".
  2. Wenn das Alter unter 18 ist:
    1. Wenn with_parent den Wert True hat, setzen Sie message auf "You can watch PG-13 movies".
    2. Wenn with_parent den Wert False hat, setzen Sie message auf "You can only watch G-rated movies".

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)
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals