Verschachteltes If - Else
Teil des Abschnitts Grundlagen der GDScript-Journey von Coddy. Lektion 29 von 92.
Eine if-Anweisung kann innerhalb eines anderen if- oder else-Blocks stehen. Das ist ein verschachteltes if. Beginne mit einem einfachen if/else:
var age := 15
var group := ""
if age >= 18:
group = "Adult"
else:
group = "Minor"Teile die Minderjährigen jetzt mit einem verschachtelten if/else innerhalb des else-Blocks in zwei Gruppen auf:
var age := 15
var group := ""
if age >= 18:
group = "Adult"
else:
if age >= 13:
group = "Teenager"
else:
group = "Child"15 ist nicht mindestens 18, also wird das äußere else ausgeführt. Darin ist 15 >= 13 true, also enthält group den Wert "Teenager".
Ein verschachteltes if kann auch in den if-Block eingefügt werden:
var age := 25
var can_rent_car := false
if age >= 18:
if age >= 21:
can_rent_car = trueDas innere if wird nur ausgeführt, wenn der äußere Block, in dem es steht, ausgeführt wird. Jede Verschachtelungsebene fügt einen Tab hinzu.
Aufgabe
EinfachEntscheide, welche Filme ein Zuschauer ansehen darf. Die Variablen age und with_parent werden in den ersten beiden Zeilen für dich eingelesen (ändere sie nicht).
Verwende ein verschachteltes if/else, um message festzulegen:
- Wenn
agemindestens18beträgt:"You can watch any movie" - Andernfalls, wenn
with_parenttrueist:"You can watch PG-13 movies" - Andernfalls:
"You can only watch G-rated movies"
with_parent ist ein bool, prüfe es also direkt: if with_parent:. Schreibe alle drei Fälle: Die Tests probieren verschiedene Altersangaben mit und ohne Elternteil aus. Zum Beispiel lautet die Ausgabe für das Alter 17 mit einem Elternteil:
You can watch PG-13 moviesProbier es selbst
extends Node
func _ready():
var age := int(OS.read_string_from_stdin()) # Ändere diese Zeile nicht
var with_parent := OS.read_string_from_stdin() == "true" # Ändere diese Zeile nicht
var message := ""
# Schreibe deinen verschachtelten if - else-Code unten hin
# Ändere die Zeile darunter nicht
print(message)
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenGanzzahldivisionModulo-OperatorRechenabkürzungenRückblick – Einfache MathematikVergleichsoperatoren7Einfache Ein- und Ausgabe
AusgabeAusgabe mit VariablenString-FormatierungEingabeTypumwandlungWiederholung – bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenArgumenteRückgabewertRückgabetypenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungsteiler
BegrüßungsnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Variablen Teil 2
TypdeklarationTypinferenzKonstantenWiederholung – Variablen initialisierenTypumwandlung6Entscheidungen treffen
If-AnweisungIf - ElseWiederholung – einfacher TaschenrechnerVerschachteltes If - ElseMatch-Anweisung9Schleifen
For-SchleifeWhile-SchleifeBreakContinueWiederholung – FakultätDie Range-FunktionVerschachtelte SchleifeWiederholung – Dynamische EingabeÜbe selbstständig: Online-GDScript-Compiler