Menu
Coddy logo textTech

Cicli come espressioni

Fa parte della sezione Logica e flusso del percorso Rust di Coddy. Lezione 5 di 66.

Nella maggior parte dei linguaggi di programmazione, i cicli sono istruzioni che eseguono ripetutamente del codice. Ma Rust ha una caratteristica unica: i cicli possono anche essere espressioni che restituiscono un valore. Ciò significa che puoi assegnare il risultato di un ciclo a una variabile.

Per restituire un valore da un ciclo, usa break seguito dal valore che vuoi restituire:

let result = loop {
    // verifica di una condizione
    if condition_met {
        break 42; // esci dal ciclo e restituisci 42
    }
};

Ecco un esempio pratico che trova il primo numero pari partendo da 10:

let mut counter = 10;

let first_even = loop {
    if counter % 2 == 0 {
        break counter; // restituisci il numero pari
    }
    counter += 1;
};

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

Il ciclo continua finché non trova un numero pari, quindi usa break counter per uscire dal ciclo e restituire quel numero. Il valore restituito viene assegnato a first_even.

challenge icon

Sfida

Facile

Riceverai un numero iniziale come input. Leggi l'input, convertilo in un intero e usa un'espressione loop per trovare il primo numero divisibile per 7 a partire da quel numero.

Requisiti:

  • Usa un'espressione loop che restituisca un valore
  • Inizia a controllare dal numero di input
  • Trova il primo numero divisibile per 7 (il resto è 0 quando viene diviso per 7)
  • Usa break per restituire il numero trovato dal ciclo
  • Stampa il risultato

Input: Un singolo intero che rappresenta il numero iniziale

Output: Stampa il primo numero divisibile per 7 a partire dal numero di input

Provalo tu

use std::io;

fn main() {
    // Leggi l'input
    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: Scrivi il tuo codice qui sotto
    // Usa un'espressione loop per trovare il primo numero divisibile per 7
    
    
    // Stampa il risultato
    // println!("{}", result);
}
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 Logica e flusso

Esercitati da solo: Compilatore Rust online