猜数字游戏(2)

这篇具有很好参考价值的文章主要介绍了猜数字游戏(2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.构建项目

cargo new guessing_game
cd guessing_game

1.测试项目运行

cargo run

2.处理一次猜想

// io输入/输出库,io库来自于标准库
use rand::Rng;
use std::cmp::Ordering;
use std::io;



fn main() {
    //println!("Guess the number!");

    //rand::thead_rng函数用来提供特定随机数生成器,gen_range方法调用随机数生成器,区间格式采用的是start..end
    //let secret_number = rand::thread_rng().gen_range(1..101);
    //println!("The secret number is: {}",secret_number);

    //println!("Please input your guess.");
    /*
        let apple = 5; // 不可变
        let mut apple = 5;// 可变
        变量默认是不可变的,想要变量可变,可以在变量名强添加mut

        ::语法表明new是string类型的一个关联函数

        关联函数是实现一种特定类型的函数
    
    */
    //let mut guess = String::new();
    /*
        程序开头没使用 use std::io引入io库,也可以通过std::io::stdin来调用函数
        read_line()方法,标准输入句柄中获取用户输入
        &表示这个参数是一个引用,让代码的多个部分可以访问同一个数据,而无需再内存中多次拷贝 
    */
    //io::stdin()
    //.read_line(&mut guess)
    //使用Result类型来处理潜在的错误
    //.expect("Failed to read line");
    //println!("You guessed: {}",guess);

    println!("Guess the number");

    let secret_number = rand::thread_rng().gen_range(1..100);
    loop{
        println!("Please input your  guess!");

        let mut guess = String::new();
        
        io::stdin()
        .read_line(&mut guess)
        .expect("Failed to read line");

        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => continue,
        };
        println!("You guessed:{}",guess);
        match guess.cmp(&secret_number){
            Ordering::Less => println!("Too small"),
            Ordering::Greater => println!("Too big"),
            Ordering::Equal => {
                println!("you win");
                break;
            }
        }
    }
    
}

文章来源地址https://www.toymoban.com/news/detail-708202.html

到了这里,关于猜数字游戏(2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法leetcode|55. 跳跃游戏(rust重拳出击)

    给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 1 = nums.length = 3 * 10 4 0 = nums[i] = 10 5 面对这道算法题目,二当家的再次陷入了沉思。 可能想到要暴力尝试或者是双循环

    2024年02月08日
    浏览(107)
  • 算法leetcode|65. 有效数字(rust重拳出击)

    有效数字 (按顺序)可以分成以下几个部分: 一个 小数 或者 整数 (可选)一个 \\\'e\\\' 或 \\\'E\\\' ,后面跟着一个 整数 小数 (按顺序)可以分成以下几个部分: (可选)一个符号字符( \\\'+\\\' 或 \\\'-\\\' ) 下述格式之一: 至少一位数字,后面跟着一个点 \\\'.\\\' 至少一位数字,后面跟着一个

    2024年02月15日
    浏览(43)
  • 算法leetcode|45. 跳跃游戏 II(rust重拳出击)

    给定一个长度为 n 的 0 索引整数数组 nums 。初始位置为 nums[0] 。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 = j = nums[i] i + j n 返回到达 nums[n - 1] 的 最小跳跃次数 。生成的测试用例可以到达 nums[n - 1] 。

    2023年04月15日
    浏览(51)
  • Rust每日一练(Leetday0022) 最小路径和、有效数字、加一

    目录 64. 最小路径和 Minimum Path Sum  🌟🌟 65. 有效数字 Valid Number  🌟🌟🌟 66. 加一 Plus One  🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C++每日一练 专栏 Java每日一练 专栏 给定一个包含非负整数的  m  x  n  网格  grid  ,请找

    2024年02月08日
    浏览(38)
  • 一个简单的 rust 项目 使用 bevy 引擎 复刻 Flappy Bird 小游戏

    一个使用 bevy 引擎复刻的 Flappy Bird 经典小游戏。 通过该项目我们可以学到:bevy 的自定义组件,自定义插件,自定义资源,sprite 的旋转,sprite 的移动,sprite sheet 动画的定义使用,状态管理,等内容… 简单介绍一下包含的内容: 游戏状态管理 Menu、InGame、Paused、GameOver。 小

    2023年04月24日
    浏览(47)
  • 研读Rust圣经解析——Rust learn-15(unsafe Rust )

    Rust 还隐藏有第二种语言,它不会强制执行这类内存安全保证:这被称为 不安全 Rust(unsafe Rust) 不安全 Rust 之所以存在,是因为静态分析本质上是保守的。当编译器尝试确定一段代码是否支持某个保证时,拒绝一些合法的程序比接受无效的程序要好一些。这必然意味着有时

    2024年02月01日
    浏览(35)
  • 【Rust】Rust学习 第十七章Rust 的面向对象特性

    面向对象编程(Object-Oriented Programming,OOP)是一种模式化编程方式。对象(Object)来源于 20 世纪 60 年代的 Simula 编程语言。这些对象影响了 Alan Kay 的编程架构中对象之间的消息传递。他在 1967 年创造了  面向对象编程  这个术语来描述这种架构。关于 OOP 是什么有很多相互矛

    2024年02月11日
    浏览(47)
  • 【Rust教程 | 基础系列1 | Rust初相识】Rust简介与环境配置

    Rust是一种系统编程语言,专注于速度、内存安全和并行性。它的设计目标是提供一种能够实现高性能系统的语言,同时保证内存安全和线程安全。 本篇教程的目标是通过融合理论与实践,帮助读者更快速、更有效地学习 Rust,并解决在学习过程中可能遇到的挑战。这些内容也

    2024年02月15日
    浏览(65)
  • 【Rust 基础篇】Rust 封装

    在 Rust 中,封装是一种面向对象编程的重要概念,它允许将数据和相关的方法组合在一起,形成一个独立的单元。通过封装,我们可以隐藏数据的实现细节,只暴露需要对外部使用的接口,从而提高代码的可维护性和安全性。本篇博客将详细介绍 Rust 中封装的概念,包含代码

    2024年02月16日
    浏览(69)
  • 【Rust 基础篇】Rust 闭包

    在 Rust 中,闭包(closures)是一种函数对象,它可以捕获其环境中的变量,并在需要时调用。闭包提供了一种方便的方式来封装行为,并在需要时进行调用。本篇博客将详细介绍 Rust 中的闭包,包括闭包的定义、语法、捕获变量的方式以及一些常见的使用场景。 闭包在 Rust 中

    2024年02月16日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包