Menu
CoddyTech

Zagnieżdżone if - else

Część sekcji Podstawy ścieżki Python w Coddy. Lekcja 23 z 77.

Zagnieżdżone instrukcje if-else pozwalają sprawdzać wiele warunków poprzez umieszczenie jednej instrukcji if-else wewnątrz drugiej. Możesz zagnieździć blok if wewnątrz bloku else. To częsty i prawidłowy wzorzec w Pythonie.

Utwórz podstawową instrukcję if-else:

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

Teraz dodajmy zagnieżdżony warunek wewnątrz bloku else:

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

Możesz również umieścić warunek wewnątrz bloku if:

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"

W obu przykładach wewnętrzna instrukcja if-else jest wykonywana tylko wtedy, gdy wykonywany jest blok, który ją zawiera: ta w bloku else jest wykonywana, gdy warunek age >= 18 jest fałszywy, a ta w bloku if — gdy warunek age >= 18 jest prawdziwy. Umieszczenie instrukcji if w bloku else (lub w bloku if) jest całkowicie poprawne. Właśnie dlatego jest ona „zagnieżdżona”.

challenge icon

Wyzwanie

Początkujący

Napisz program, który określa, czy dana osoba może obejrzeć film na podstawie jej wieku i obecności rodzica.

Uwaga: wartości zmiennych age i with_parent są już ustawione i różnią się w poszczególnych przypadkach testowych. Nie ustawiaj ich samodzielnie — po prostu ich użyj.

Twoje zadanie:
Użyj zagnieżdżonych instrukcji if-else, aby ustawić zmienną message na jeden z poniższych ciągów znaków:

  1. Jeśli wiek wynosi co najmniej 18 lat, ustaw message na "You can watch any movie".
  2. Jeśli wiek wynosi mniej niż 18 lat:
    1. Jeśli with_parent ma wartość True, ustaw message na "You can watch PG-13 movies".
    2. Jeśli with_parent ma wartość False, ustaw message na "You can only watch G-rated movies".

Ważne: Ponieważ with_parent jest już wartością logiczną, sprawdzaj ją bezpośrednio (np. if with_parent:): nie porównuj jej z ciągiem znaków, takim jak "true" lub "True".

Ważne: Ciągi znaków muszą być dokładnie takie same, łącznie z wielkością liter i interpunkcją. Na przykład użyj "PG-13 movies" (małe 'm'), a nie "PG-13 Movies".

Spróbuj swoich sił

# Napisz tutaj swój kod zagnieżdżonej instrukcji if-else


quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Python online