1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| use std::{cmp::Ordering, io}; use rand::Rng;
fn main() { let secret_number = rand::thread_rng().gen_range(1..=100); let mut attempts = 0;
println!("🎮 猜数游戏启动!数字范围:1-100");
loop { println!("🔢 请输入您的猜测:"); let mut guess = String::new(); io::stdin() .read_line(&mut guess) .expect("⚠️ 读取输入失败"); let guess: u32 = match guess.trim().parse() { Ok(num) if (1..=100).contains(&num) => num, Ok(_) => { println!("❗ 请输入1-100之间的数字"); continue; }, Err(_) => { println!("❗ 无效输入,请重试"); continue; } };
attempts += 1;
match guess.cmp(&secret_number) { Ordering::Less => println!("📉 太小了!"), Ordering::Greater => println!("📈 太大了!"), Ordering::Equal => { println!( "🎉 猜对了!神秘数字是 {},共用了 {} 次尝试", secret_number, attempts ); break; } } } }
|