use rand::{self, Rng}; use std::{cmp::Ordering, io}; fn main() { println!("Guessing game!"); let secret_number = rand::thread_rng().gen_range(1..=10); println!("The secret number is {}", secret_number); loop { println!("Please enter a guess!"); let mut guess = String::new(); io::stdin() .read_line(&mut guess) .expect("A guess should be entered"); println!("You guessed: {}", guess); let guess: u32 = match guess.trim().parse::() { Ok(num) => num, Err(err) => { println!("Couldn't parse '{}' ({})", guess.trim(), err); continue; } }; match secret_number.cmp(&guess) { Ordering::Less => { println!("You guessed wrong! ({} < {})", secret_number, guess); } Ordering::Equal => { println!("You guessed right! ({} = {})", secret_number, guess); break; } Ordering::Greater => { println!("You guessed wrong! ({} > {})", secret_number, guess); } } println!("Try again!") } }