mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2026-08-22 14:13:28 +08:00
Refined Ch02.
This commit is contained in:
@@ -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
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user