RosettaCodeData/Task/Guess-the-number/Rust/guess-the-number.rust

26 lines
772 B
Text
Raw Permalink Normal View History

2015-11-18 06:14:39 +00:00
extern crate rand;
2015-02-20 00:35:01 -05:00
fn main() {
2015-11-18 06:14:39 +00:00
println!("Type in an integer between 1 and 10 and press enter.");
2015-02-20 00:35:01 -05:00
2015-11-18 06:14:39 +00:00
let n = rand::random::<u32>() % 10 + 1;
loop {
let mut line = String::new();
std::io::stdin().read_line(&mut line).unwrap();
let option: Result<u32,_> = line.trim().parse();
match option {
Ok(guess) => {
if guess < 1 || guess > 10 {
println!("Guess is out of bounds; try again.");
} else if guess == n {
println!("Well guessed!");
break;
} else {
println!("Wrong! Try again.");
}
},
Err(_) => println!("Invalid input; try again.")
}
}
2015-02-20 00:35:01 -05:00
}