Menu
Coddy logo textTech

If-Else

Fait partie de la section Fundamentals du Journey Rust de Coddy — leçon 25 sur 75.

if nous permet d'exécuter un code particulier si une condition est remplie, mais que se passe-t-il si nous voulons exécuter autre chose si la condition n'est pas remplie ?

Pour cela, nous avons l'instruction else :

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

Dans l'exemple ci-dessus, age est inférieur à 18, ce qui signifie qu'il entre dans le code else et status contiendra "Young".

Nous pouvons même le rendre plus profond en utilisant l'instruction else if :

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

Ici, il vérifie si age est inférieur à 18, sinon il passera à la condition suivante et vérifiera si age est compris entre 18 et 65. Si cette condition n'est pas non plus remplie, il définira status sur "Old".

Nous pouvons ajouter autant d'instructions else if que nous le souhaitons :

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

Défi

Débutant

On vous donne un code qui reçoit en entrée un nombre indiquant la vitesse du vent et le stocke dans une variable nommée wind.

Note : nous apprendrons dans les prochaines leçons comment obtenir une entrée de l'utilisateur, pour l'instant ne touchez pas aux premières lignes.

 

Votre tâche consiste à initialiser la variable status en fonction des conditions suivantes :

  • "Calm" si wind est inférieur à 8,
  • "Breeze" si wind est compris entre 8 et 31 (8 et 31 inclus).
  • "Gale" si wind est compris entre 32 et 63 (32 et 63 inclus)
  • "Storm" sinon

Consultez les cas de test pour voir toutes les entrées et les sorties attendues

Aide-mémoire

Utilisez else pour exécuter du code lorsque la condition if n'est pas remplie :

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

Utilisez else if pour vérifier plusieurs conditions :

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

Vous pouvez enchaîner plusieurs instructions else if :

if condition1 {
    code;
} else if condition2 {
    code;
} else if condition3 {
    code;
}

Essayez vous-même

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let wind: i32 = input.trim().parse().unwrap();
    // Remplacez la ligne ci-dessous par une expression if-else qui attribue un statut en fonction du vent
    let status = "unset";
    
    // Ne modifiez pas la ligne ci-dessous
    println!("status = {}", status);
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals