Menu
Coddy logo textTech

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 powszechny i poprawny 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ż zagnieździć 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 wykonuje się tylko wtedy, gdy spełniony jest warunek zewnętrzny, który ją zawiera. Umieszczenie instrukcji if wewnątrz bloku else (lub wewnątrz bloku if) jest całkowicie poprawne. Właśnie to sprawia, że 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.

Podany kod (nie modyfikuj):

  1. Zmienna age jest zdefiniowana i przypisana jej jest wartość z wejścia
  2. Zmienna with_parent jest zdefiniowana i przypisana jej jest wartość logiczna. Ma wartość True, jeśli dane wejściowe to "true", lub False, jeśli dane wejściowe to "false"
  3. Zmienna message jest zdefiniowana i ma wartość "None"

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

  1. Jeśli wiek wynosi co najmniej 18 lat, przypisz zmiennej message wartość "You can watch any movie".
  2. Jeśli wiek wynosi mniej niż 18 lat:
    1. Jeśli with_parent ma wartość True, przypisz zmiennej message wartość "You can watch PG-13 movies".
    2. Jeśli with_parent ma wartość False, przypisz zmiennej message wartość "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 takim jak "true" lub "True".

Ważne: Ciągi 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ł

# Pobierz wiek jako liczbę całkowitą
age = int(input())

# Pobierz informację o opiece rodzica jako wartość logiczną (True/False)
with_parent = input() == "true"

# Zadeklaruj zmienną o nazwie message z wartością "None"
message = "None"

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


# Nie zmieniaj niczego poniżej tej linii
print(message)
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