rust猜猜看

extern crate rand;//这一步的时候要在dependencies中添加rand的版本,此刻需要注意
                  //如果rand = "0.3.0"代表任何兼容0.3.0的版本,如果想要使用某
                  //个特定版本的rand应该输入rand = "=0.3.0"

use std::io;
use rand::Rng;  //我们一会将要使用一个方法,并且它要求 Rng 在作用域中才能工作
                //简单理解,函数必须在Rng的作用域下才能运作
use std::cmp::Ordering;

fn main()
{
    println!("Let's begin to start a game , guess a number between 1 and 100."); 
    println!("Guess the number!");
    let secret_number = rand::thread_rng().gen_range(1,101);
    //随机产生1-100的数字,gen_range包括左不包括右
    //我们用 rand::thread_rng() 函数来获取一个随机数生成器的拷贝
    loop
    {
        println!("Please input your guess!");
        let mut guess = String::new();
        //mut产生了new一个可变参数guess同时赋予String空间
        io::stdin().read_line(&mut guess).expect("Failed to readline");
        //.expect类似于try....except....即无法读取的话会显示Failed to readline
        let guess:u32 = match guess.trim().parse()
	    //String 的 trim() 方法会去掉我们字符串开头和结尾的任何空格
	    {
	        Ok(num) => num,
	        Err(_) => 
	        {
	            println!("Just input a number!!");
	            continue;
	        }
	    };
        println!("Your guessed:{}",guess);
        match guess.cmp(&secret_number)
        {
            Ordering::Less => println!("Too small!"),
	        Ordering::Greater => println!("Too big!"),
	        Ordering::Equal => 
	        {
	            println!("You win!");
	            break;
	        }
        }
    }
}
posted @ 2021-07-21 16:39  buchiyexiao  阅读(56)  评论(0)    收藏  举报
Live2D