Refined Ch02.

This commit is contained in:
rust-lang.xfoss.com
2023-12-07 16:08:12 +08:00
parent 084fbfcf88
commit a9a63fe8a6
2 changed files with 57 additions and 47 deletions

View File

@@ -1,34 +1,42 @@
use std::io;
use std::cmp::Ordering;
use rand::Rng;
use std::{cmp::Ordering, io, process};
fn main() {
println! ("请猜数!");
let secret_number = rand::thread_rng().gen_range(1..=100);
// println! ("秘密数字为:{secret_number}");
loop {
println! ("请输入你的猜数。");
println! ("\n---猜出这个数来!---");
let mut guess = String::new();
let secret_number: u32 = rand::thread_rng().gen_range(1..101);
io::stdin()
.read_line(&mut guess)
.expect("读取行失败/failed to read line");
// println! ("随机生成的秘密数字为:{}", secret_number);
let guess: u32 = guess.trim().parse().expect("请输入一个数字!");
loop {
println! ("请输入你猜的数。( Q/quit 退出游戏)");
println! ("你猜的是:{guess}");
let mut guess: String = String::new();
match guess.cmp(&secret_number) {
Ordering::Less => println! ("太小!"),
Ordering::Greater => println! ("太大!"),
Ordering::Equal => {
println! ("你赢了!");
break;
},
io::stdin()
.read_line(&mut guess)
.expect("读取行失败/failed to read line");
if guess.trim().eq("Q") || guess.trim().eq("quit") { process::exit(0); }
// let guess: u32 = guess.trim().parse().expect("请输入一个数字!");
let guess: u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => { println! ("请输入一个数字!"); continue },
};
println! ("你猜的数为:{}", guess);
match guess.cmp(&secret_number) {
Ordering::Less => println! ("太小!"),
Ordering::Greater => println! ("太大!"),
Ordering::Equal => {
println! ("你赢了!");
break
},
}
}
}
}