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”.
Wyzwanie
PoczątkującyNapisz program, który określa, czy dana osoba może obejrzeć film na podstawie jej wieku i obecności rodzica.
Podany kod (nie modyfikuj):
- Zmienna
agejest zdefiniowana i przypisana jej jest wartość z wejścia - Zmienna
with_parentjest zdefiniowana i przypisana jej jest wartość logiczna. Ma wartośćTrue, jeśli dane wejściowe to"true", lubFalse, jeśli dane wejściowe to"false" - Zmienna
messagejest 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:
- Jeśli wiek wynosi co najmniej 18 lat, przypisz zmiennej
messagewartość"You can watch any movie". - Jeśli wiek wynosi mniej niż 18 lat:
- Jeśli
with_parentma wartośćTrue, przypisz zmiennejmessagewartość"You can watch PG-13 movies". - Jeśli
with_parentma wartośćFalse, przypisz zmiennejmessagewartość"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 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)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