Menu
Coddy logo textTech

Les boucles en tant qu'expressions

Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 5 sur 66.

Dans la plupart des langages de programmation, les boucles sont des instructions qui exécutent du code de manière répétée. Mais Rust possède une fonctionnalité unique : les boucles peuvent également être des expressions qui renvoient une valeur. Cela signifie que vous pouvez assigner le résultat d'une boucle à une variable.

Pour retourner une valeur depuis une boucle, vous utilisez break suivi de la valeur que vous souhaitez retourner :

let result = loop {
    // une vérification de condition
    if condition_met {
        break 42; // quitter la boucle et retourner 42
    }
};

Voici un exemple pratique qui trouve le premier nombre pair à partir de 10 :

let mut counter = 10;

let first_even = loop {
    if counter % 2 == 0 {
        break counter; // retourne le nombre pair
    }
    counter += 1;
};

println!("First even number: {}", first_even);

La boucle continue jusqu'à ce qu'elle trouve un nombre pair, puis utilise break counter pour quitter la boucle et renvoyer ce nombre. La valeur renvoyée est assignée à first_even.

challenge icon

Défi

Facile

Vous recevrez un nombre de départ en entrée. Lisez l'entrée, convertissez-la en un entier, et utilisez une expression loop pour trouver le premier nombre divisible par 7 en commençant par ce nombre.

Exigences :

  • Utilisez une expression loop qui retourne une valeur
  • Commencez la vérification à partir du nombre saisi
  • Trouvez le premier nombre divisible par 7 (le reste est 0 lorsqu'il est divisé par 7)
  • Utilisez break pour retourner le nombre trouvé depuis la boucle
  • Affichez le résultat

Entrée : Un seul entier représentant le nombre de départ

Sortie : Affichez le premier nombre divisible par 7 en commençant par le nombre saisi

Aide-mémoire

En Rust, les boucles peuvent être des expressions qui retournent une valeur. Utilisez break suivi d'une valeur pour quitter la boucle et retourner cette valeur :

let result = loop {
    if condition_met {
        break 42; // quitter la boucle et retourner 42
    }
};

Exemple pour trouver le premier nombre pair :

let mut counter = 10;

let first_even = loop {
    if counter % 2 == 0 {
        break counter; // retourner le nombre pair
    }
    counter += 1;
};

println!("First even number: {}", first_even);

Essayez vous-même

use std::io;

fn main() {
    // Lire l'entrée
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let start_number: i32 = input.trim().parse().expect("Invalid input");
    
    // TODO: Écrivez votre code ci-dessous
    // Utilisez une expression de boucle pour trouver le premier nombre divisible par 7
    
    
    // Afficher le résultat
    // println!("{}", result);
}
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 Logic & Flow