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”.
Wyzwanie
PoczątkującyNapisz 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:
- Jeśli wiek wynosi co najmniej 18 lat, ustaw
messagena"You can watch any movie". - Jeśli wiek wynosi mniej niż 18 lat:
- Jeśli
with_parentma wartośćTrue, ustawmessagena"You can watch PG-13 movies". - Jeśli
with_parentma wartośćFalse, ustawmessagena"You can only watch G-rated movies".
- Jeśli
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
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – podstawy logikiOperatory logiczne, część 3Operatory logiczne, część 47Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych10FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz13Listy — zagadnienia zaawansowane
Wycinanie list — część 1Wycinanie list — część 2Operatory sekwencjiPrzynależność2Zmienne
LiczbyCiąg znakówWartość logicznaKonwencje nazewnictwaPuste zmiennePodsumowanie — inicjalizacja zmiennych8Pętle
Pętla forPętla whilePrzerwijKontynuujPowtórka – silniaFunkcja rangePętla zagnieżdżonaPowtórka – dane wejściowe dynamiczne3Operatory, część 1
Operatory arytmetyczneOperator moduloSkróty arytmetycznePowtórka — prosta matematykaOperatory porównania6Podstawowe wejście i wyjście
WyjścieWyjście ze zmiennymiWejścieKonwersja typówPowtórka — do 120Powtórka — prawda czy fałsz9Funkcje
Deklarowanie funkcjiArgumentyWartość zwracanaPowtórka — funkcja SigmaPowtórka — funkcja walidującaWartości domyślnePoćwicz samodzielnie: Kompilator Python online