Menu
Coddy logo textTech

If-Else

Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 25 di 75.

if ci permette di eseguire del codice specifico se una condizione è soddisfatta, ma cosa succede se vogliamo eseguire qualcos'altro se la condizione non è soddisfatta?

Per questo abbiamo l'istruzione else:

let age: i32 = 15;
let status = if age >= 18 {
    "Adult"
} else {
    "Young"
};

Nell'esempio precedente, age è minore di 18, quindi viene eseguito il codice else e status conterrà "Young".

Possiamo renderlo ancora più approfondito usando l'istruzione else if:

let age: i32 = 68;
let status = if age < 18 {
    "Young"
} else if age >= 18 && age <= 65 {
    "Adult"
} else {
    "Old"
};

Qui verifica se age è minore di 18; in caso contrario, passerà alla condizione successiva e verificherà se age è compreso tra 18 e 65. Se anche questa condizione non è soddisfatta, imposterà status su "Old".

Possiamo aggiungere tutti gli enunciati else if che vogliamo:

if condition1 {
    code;
} else if condition2 {
    code;
} else if condition3 {
    code;
}
...
challenge icon

Sfida

Principiante

Ti viene fornito un codice che riceve in input un numero che indica la velocità del vento e lo memorizza in una variabile chiamata wind.

Nota: nelle prossime lezioni impareremo a ricevere input dall'utente; per ora non modificare le prime righe.

 

Il tuo compito è inizializzare la variabile status in base alle condizioni:

  • "Calm" se wind è minore di 8,
  • "Breeze" se wind è compreso tra 8 e 31 (inclusi 8 e 31).
  • "Gale" se wind è compreso tra 32 e 63 (inclusi 32 e 63)
  • "Storm" altrimenti

Controlla i casi di test per vedere tutti gli input e gli output previsti

Provalo tu

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let wind: i32 = input.trim().parse().unwrap();
    // Sostituisci la riga qui sotto con un'espressione if-else che assegni status in base a wind
    let status = "unset";
    
    // Non modificare la riga qui sotto
    println!("status = {}", status);
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Rust online