Menu
Coddy logo textTech

Pętle jako wyrażenia

Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 5 z 66.

W większości języków programowania pętle to instrukcje, które wielokrotnie wykonują kod. Rust ma jednak wyjątkową cechę: pętle mogą być także wyrażeniami, które zwracają wartość. Oznacza to, że możesz przypisać wynik pętli do zmiennej.

Aby zwrócić wartość z pętli, użyj break, a następnie podaj wartość, którą chcesz zwrócić:

let result = loop {
    // sprawdzanie pewnego warunku
    if condition_met {
        break 42; // wyjdź z pętli i zwróć 42
    }
};

Oto praktyczny przykład, który znajduje pierwszą liczbę parzystą, zaczynając od 10:

let mut counter = 10;

let first_even = loop {
    if counter % 2 == 0 {
        break counter; // zwróć liczbę parzystą
    }
    counter += 1;
};

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

Pętla działa dalej, aż znajdzie liczbę parzystą, a następnie używa break counter, aby zakończyć pętlę i zwrócić tę liczbę. Zwrócona wartość zostaje przypisana do first_even.

challenge icon

Wyzwanie

Łatwy

Otrzymasz liczbę początkową jako dane wejściowe. Odczytaj dane wejściowe, przekonwertuj je na liczbę całkowitą i użyj pętli jako wyrażenia, aby znaleźć pierwszą liczbę podzielną przez 7, zaczynając od tej liczby.

Wymagania:

  • Użyj wyrażenia loop, które zwraca wartość
  • Rozpocznij sprawdzanie od liczby wejściowej
  • Znajdź pierwszą liczbę podzielną przez 7 (reszta z dzielenia przez 7 wynosi 0)
  • Użyj break, aby zwrócić znalezioną liczbę z pętli
  • Wypisz wynik

Dane wejściowe: Jedna liczba całkowita reprezentująca liczbę początkową

Dane wyjściowe: Wypisz pierwszą liczbę podzielną przez 7, zaczynając od liczby wejściowej

Spróbuj swoich sił

use std::io;

fn main() {
    // Odczytaj dane wejściowe
    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: Napisz swój kod poniżej
    // Użyj wyrażenia z pętlą, aby znaleźć pierwszą liczbę podzielną przez 7
    
    
    // Wyświetl wynik
    // println!("{}", result);
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Rust online