Skip to content

Commit 7bdae85

Browse files
committed
fix bugs and add loop in rust game guess_number
1 parent 8ab7f9e commit 7bdae85

1 file changed

Lines changed: 20 additions & 12 deletions

File tree

rust/guess_number/src/main.rs

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,26 @@ use std::io; // prelude
44
fn main() {
55
println!("Guess the number");
66
let secret_number = rand::thread_rng().gen_range(1..=100);
7-
println!("the secret number is {}", secret_number);
8-
println!("Guess a number:");
9-
let mut guess = String::new();
7+
// println!("the secret number is {}", secret_number);
108
// std::io::stdin().read_line(&mut guess).expect("reading error");
11-
io::stdin()
12-
.read_line(&mut guess)
13-
.expect("reading line error");
14-
let guess: u32 = guess.trim().parse().expect("parse to number error");
15-
println!("the number you guess is {}", guess);
16-
match guess.cmp(&secret_number) {
17-
Ordering::Less => print!("Too small!"), // arm
18-
Ordering::Greater => println!("Too big!"),
19-
Ordering::Equal => println!("You win!"),
9+
loop {
10+
println!("Guess a number:");
11+
let mut guess = String::new();
12+
io::stdin()
13+
.read_line(&mut guess)
14+
.expect("reading line error");
15+
let guess: u32 = match guess.trim().parse() {
16+
Ok(number) => number,
17+
Err(_) => continue,
18+
};
19+
println!("the number you guess is {}", guess);
20+
match guess.cmp(&secret_number) {
21+
Ordering::Less => println!("Too small!"), // arm
22+
Ordering::Greater => println!("Too big!"),
23+
Ordering::Equal => {
24+
println!("You win!");
25+
break;
26+
}
27+
}
2028
}
2129
}

0 commit comments

Comments
 (0)