If-Else annidati
Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 28 di 75.
Possiamo annidare le istruzioni if / else if / else l'una dentro l'altra. Questo ci permette di creare strutture decisionali gerarchiche.
Ad esempio:
if age > 18 {
if hasLicense {
println!("You can drive");
} else {
println!("Get a license first");
}
} else {
println!("Too young to drive");
}Può essere annidato all'infinito:
if condition1 {
if condition2 {
if condition3 {
// se condition1, condition2 e condition3 sono vere
...
}
}
}Sfida
PrincipianteCrea un programma che controlli se qualcuno può salire sulle montagne russe. I requisiti sono:
- Deve avere almeno 12 anni
- Deve essere più alto di 150cm
- Se soddisfa entrambi i requisiti ma ha meno di 15 anni, ha bisogno della supervisione di un adulto
Stampa esattamente questi messaggi per ogni caso:
- Se è troppo giovane:
Sorry, you're too young - Se non è abbastanza alto:
Sorry, you're not tall enough - Se ha meno di 15 anni e non è accompagnato da un adulto:
Sorry, you need an adult with you - Se ha meno di 15 anni ed è accompagnato da un adulto:
You can ride with adult supervision! - Se ha 15 anni o più ed è abbastanza alto:
You can ride by yourself!
Provalo tu
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();
// Scrivi il tuo codice qui sotto
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Input/output di base
Stampare sulla consoleLeggere l'input dell'utenteRiepilogo - Fino a 120Riepilogo - Vero o falso5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Ripasso - Logica sempliceOperatori logici Parte 311Funzioni
Dichiarare le funzioniParametri e argomentiValori restituitiValori restituiti multipliRiepilogo - funzione SigmaRiepilogo - funzione di validazione14Iterare sugli array
Guida ai rangeCiclo for avanzatoPrestito nel cicloOperazioni comuni sugli array3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneInferenza del tipoRipasso - Inizializzare le variabiliConversione di tipo9Cicli
Ciclo for su sequenzeCiclo whileBreakContinueCiclo annidatoEtichette dei cicliCiclo infinitoRiepilogo - Input dinamico12Fondamenti degli array
Dichiarare gli arrayArray come parametroAccedere agli elementiModificare gli arrayRiepilogo - Stampare un array in modo leggibile15Operazioni sulle stringhe
Metodi delle stringheMacro format!Conversione delle stringheRipasso - FormattazioneEsercitati da solo: Compilatore Rust online