Verschachteltes If-Else
Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 28 von 75.
Wir können if-elif-else-Anweisungen ineinander verschachteln. Dies ermöglicht es uns, hierarchische Entscheidungsstrukturen zu erstellen.
Zum Beispiel:
if age > 18 {
if hasLicense {
println!("You can drive");
} else {
println!("Get a license first");
}
} else {
println!("Too young to drive");
}Es kann unendlich tief verschachtelt sein:
if condition1 {
if condition2 {
if condition3 {
// wenn condition1, condition2 und condition3 wahr sind
...
}
}
}Aufgabe
AnfängerErstelle ein Programm, das prüft, ob jemand mit einer Achterbahn fahren darf. Die Anforderungen sind:
- Muss mindestens 12 Jahre alt sein
- Muss größer als 150cm sein
- Wenn beide Anforderungen erfüllt sind, die Person aber unter 15 Jahre alt ist, wird eine erwachsene Begleitperson benötigt
Gib für jeden Fall genau diese Meldungen aus:
- Wenn zu jung:
Sorry, you're too young - Wenn nicht groß genug:
Sorry, you're not tall enough - Wenn unter 15 und ohne Erwachsenen:
Sorry, you need an adult with you - Wenn unter 15 mit Erwachsenem:
You can ride with adult supervision! - Wenn 15 oder älter und groß genug:
You can ride by yourself!
Spickzettel
Sie können if-elif-else-Anweisungen ineinander verschachteln, um hierarchische Entscheidungsstrukturen zu erstellen:
if age > 18 {
if hasLicense {
println!("You can drive");
} else {
println!("Get a license first");
}
} else {
println!("Too young to drive");
}Verschachtelungen können unendlich weit vorgenommen werden:
if condition1 {
if condition2 {
if condition3 {
// wenn condition1, condition2 und condition3 wahr sind
...
}
}
}Probier es selbst
use std::io;
fn main() {
let mut age_input = String::new();
let mut height_input = String::new();
let mut adult_input = String::new();
io::stdin().read_line(&mut age_input).unwrap();
io::stdin().read_line(&mut height_input).unwrap();
io::stdin().read_line(&mut adult_input).unwrap();
let age: i32 = age_input.trim().parse().unwrap();
let height: i32 = height_input.trim().parse().unwrap();
let has_adult: bool = adult_input.trim().parse().unwrap();
// Schreibe deinen Code unten
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Grundlagen IO
Ausgabe in die KonsoleBenutzereingaben lesenWiederholung - Bis 120Wiederholung - Wahr oder Falsch5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung - Einfache LogikLogische Operatoren Teil 311Funktionen
Funktionen deklarierenParameter und ArgumenteRückgabewerteMehrere RückgabewerteWiederholung - Sigma-FunktionWiederholung - Validierungsfunktion14Iterieren über Arrays
Range-LeitfadenErweiterte For-SchleifeBorrowing in SchleifenGängige Array-Operationen3Variablen Teil 2
TypdeklarationNamenskonventionenTypinferenzRückblick - Variablen initialisierenTypumwandlung6Entscheidungsfindung
If-AusdrückeIf-ElseMatch-AnweisungZusammenfassung - If-ElseVerschachteltes If-Else9Schleifen
For-Schleife über SerienWhile-SchleifeBreakContinueVerschachtelte SchleifenSchleifen-LabelsEndlosschleifeRückblick – Dynamische Eingabe