Zagnieżdżone if - else
Część sekcji Podstawy ścieżki GDScript w Coddy. Lekcja 29 z 92.
Instrukcja if może znajdować się wewnątrz innego bloku if lub else. To zagnieżdżona instrukcja if. Zacznij od zwykłego if/else:
var age := 15
var group := ""
if age >= 18:
group = "Adult"
else:
group = "Minor"Teraz podziel nieletnich na dwie grupy, używając zagnieżdżonych instrukcji if/else wewnątrz bloku else:
var age := 15
var group := ""
if age >= 18:
group = "Adult"
else:
if age >= 13:
group = "Teenager"
else:
group = "Child"15 nie jest większe ani równe 18, więc wykonuje się zewnętrzna gałąź else. W jej wnętrzu 15 >= 13 ma wartość true, więc group przechowuje "Teenager".
Zagnieżdżony if może również znajdować się wewnątrz bloku if:
var age := 25
var can_rent_car := false
if age >= 18:
if age >= 21:
can_rent_car = trueWewnętrzna instrukcja if wykonuje się tylko wtedy, gdy wykonuje się otaczający ją blok. Każdy poziom zagnieżdżenia dodaje jedno wcięcie.
Wyzwanie
ŁatwyZdecyduj, jakie filmy może oglądać widz. Zmienne age i with_parent są odczytywane za Ciebie w dwóch pierwszych wierszach (nie zmieniaj ich).
Użyj zagnieżdżonych instrukcji if/else, aby ustawić message:
- Jeśli
agewynosi18lub więcej:"You can watch any movie" - W przeciwnym razie, jeśli
with_parentma wartośćtrue:"You can watch PG-13 movies" - W przeciwnym razie:
"You can only watch G-rated movies"
with_parent jest typu bool, więc sprawdź tę zmienną bezpośrednio: if with_parent:. Zapisz wszystkie trzy przypadki: testy sprawdzają różne wartości wieku, z rodzicem i bez niego. Na przykład dla wieku 17 i obecności rodzica wynikiem jest:
You can watch PG-13 moviesSpróbuj swoich sił
extends Node
func _ready():
var age := int(OS.read_string_from_stdin()) # Nie zmieniaj tej linii
var with_parent := OS.read_string_from_stdin() == "true" # Nie zmieniaj tej linii
var message := ""
# Napisz poniżej kod zagnieżdżonej instrukcji if - else
# Nie zmieniaj poniższej 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ęść 1
Operatory arytmetyczneDzielenie całkowiteOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
WyjścieWyjście ze zmiennymiFormatowanie ciągów znakówWejścieRzutowanie typówPowtórka — do 120Powtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiArgumentyZwracanie wartościTypy zwracanych wartościPowtórka — funkcja sigmaPowtórka — funkcja walidującaWartości domyślne5Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operator warunkowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych14Zaawansowane tablice
Wycinanie fragmentów tablicyOperatory sekwencjiPrzynależnośćSortowanie i odwracanie3Zmienne, część 2
Deklarowanie typówWnioskowanie o typachStałePowtórka — inicjalizacja zmiennychKonwersja typów6Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka – prosty kalkulatorZagnieżdżone if - elseInstrukcja match9Pętle
Pętla forPętla whilePrzerwijKontynuujPowtórka — silniaFunkcja rangePętla zagnieżdżonaPowtórka — dane wejściowe dynamicznePoćwicz samodzielnie: Kompilator GDScript online