【Rust学习】2. Rust入门猜数游戏案例

Rust 常见问题汇总 在 cargo.toml 文件中添加了依赖之后,运行 cargo build 命令时,如果卡在 blocking waiting for file lock on package cache lock 这里,后来发现,Cargo.lock被其他程序正在写入,独占了。一般关掉那个程序就行。原来是在cargo文件夹下面,.package_cache被加锁阻塞。cargo build 一直提示Blocking waiting for file lock on package cache。 阅读详情

Requirement

猜数游戏-目标
生成一个1到100间的随机数
提示玩家输入一个猜测
猜完之后,程序会提示猜测是太小了还是太大了如果猜测正确,那么打印出一个庆祝信息,程序退出

Solution

预备:创建项目

cargo new guessing_name

Step1:第一次猜测

use std::io; //io这个库在标准库里面,标准库就是std
fn main() {
    println!("猜数游戏!");
    println!("猜一个数!");
    //guess需要是可变的,所以加上 &mut
    let mut guess = String::new();
    // 读取用户输入
    io::stdin().read_line(&mut guess).expect("无法读取行");
    println!("你猜测的数字是:{}", guess);
}

输出

> cargo run
    Blocking waiting for file lock on build directory
   Compiling my-project v0.1.0 (/home/runner/RustClass)
    Finished dev [unoptimized + debuginfo] target(s) in 1.77s
     Running `target/debug/my-project`
猜数游戏!
猜一个数!
75
你猜测的数字是:75

Comment:
fn main(){}是Rust第一个执行的函数
Rust中变量是不可变的,创建变量用let,如

 let guess = 22;

需要加上mut,让变量变成可变的

 let mut guess = 22;

Step2:生成神秘数字

引入rand随机数依赖
在这里插入图片描述

use rand::Rng;//随机数包
use std::io; //io这个库在标准库里面,标准库就是std 
fn main() {
    println!("猜数游戏!");
    println!("猜一个数!");
    
    let secret_number = rand::thread_rng().gen_range(1, 101);
    println!("要猜测的数字是:{}", secret_number);
    
    let mut guess = String::new();
    io::stdin().read_line(&mut guess).expect("无法读取行");

    println!("你猜测的数字是:{}", guess);
}

输出

 cargo run
   Compiling my-project v0.1.0 (/home/runner/RustClass)
    Finished dev [unoptimized + debuginfo] target(s) in 0.91s
     Running `target/debug/my-project`
猜数游戏!
猜一个数!
要猜测的数字是:8
32
你猜测的数字是:32

Step3:比较猜测数字和神秘数字

use rand::Rng;//随机数包
use std::cmp::Ordering;//比较
use std::io; //io这个库在标准库里面,标准库就是std 
fn main() {
    println!("猜数有戏!");
    println!("猜一个数!");
  
    let secret_number = rand::thread_rng().gen_range(1, 101);
    println!("猜测一个数字是:{}", secret_number);

    let mut guess = String::new();
    io::stdin().read_line(&mut guess).expect("无法读取行");

    let guess: u32 = guess.trim().parse().expect("请输入数字");
    println!("你猜测的数字是:{}", guess);
    // if else
    match guess.cmp(&secret_number) {
        Ordering::Less => println!("太小了"),
        Ordering::Greater => println!("太大了"),
        Ordering::Equal => println!("你赢了"),
    }
}

Step4:多次猜测

用loop实习多次猜测
猜对了break退出
类型转换,trim()去除空白格和换行等字符
完整版

use rand::Rng; //随机数包
use std::cmp::Ordering; //比较
use std::io; //io这个库在标准库里面,标准库就是std
fn main() {
    println!("猜数游戏!");
    let secret_number = rand::thread_rng().gen_range(1, 101);

    loop {
        println!("猜一个数!");
        let mut guess = String::new();
        io::stdin().read_line(&mut guess).expect("无法读取行");
      		//类型转换,trim()去除空白格和换行等字符
        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => continue,
        };
      
        println!("你猜测的数字是:{}", guess);
      
        match guess.cmp(&secret_number) {
            Ordering::Less => println!("太小了"),
            Ordering::Greater => println!("太大了"),
            Ordering::Equal => {
                println!("你赢了");
                break;
            }
        }
    }
}

输出

 cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.24s
     Running `target/debug/my-project`
猜数游戏!
猜一个数!
50
你猜测的数字是:50
太大了
猜一个数!
25
你猜测的数字是:25
太大了
猜一个数!
12
你猜测的数字是:12
太大了
猜一个数!
6
你猜测的数字是:6
太大了
猜一个数!
3
你猜测的数字是:3
太小了
猜一个数!
4
你猜测的数字是:4
太小了
猜一个数!
5
你猜测的数字是:5
你赢了

Reference

[1] 软件工艺师. (2020年10月21日). Rust编程语言入门教程(Rust语言/Rust权威指南配套)【已完结】[视频]. Bilibili. https://www.bilibili.com/video/BV1hp4y1k7SV.

【Rust指南】配置加速Cargo下载、更新依赖库|利用随机数编写Rust猜数游戏 上篇Rust指南文章讲解了使用Cargo工具创建Rust项目的方法并编写讲解了该语言的输入输出格式。那么今天详细的教大家如何将Cargo自动更新依赖库的网址从国外改到国内镜像,这样无疑加快了开发的效率,而且更改完成后会举一个猜数游戏的例子,让大家轻松掌握更多Rust语法。...... 阅读详情

相关推荐

【Rust入门】猜数游戏

Rust是一种系统编程语言,它专注于速度、内存安全和并行性。学习Rust可以为你的编程技能库增添新的一笔。在这篇文章中,我们将通过一个简单的猜数游戏来介绍Rust的基本概念。这个游戏是一个很好的入门项目,因为它涉及到一些基本的编程概念,如变量、循环、输入/输出和条件语句。无论你是一位经验丰富的程序员,还是刚刚开始接触编程,我相信你都会从这个项目中学到一些有用的东西。通过完成这个猜数游戏,我们已经对Rust有了一个基本的了解。我们学习了如何使用变量、循环、输入/输出和条件语句,这些都是编程的基本构建块。

m0_62599305的博客 1401

Rust笔记——解决 Blocking waiting for file lock on build directory

1.当rust添加新的依赖库之后,cargo build 或者 cargo run 时,会出现Blocking waiting for file lock on build directory这个提示,然后就一直停止不动。 2.解决方法是,先control + c 终止当前界面,然后切换到根目录,删除掉~/.cargo/.package-cache。 先切换到根目录(我这里是Mac,Linux跟Mac差不多,如果是Windows的话,可以显示隐藏目录后查找到~/.cargo目录)。 cd ls -al

知来者逆的博客 7464

用Python实现单层感知器:5分钟搞定逻辑与/或/异或分类(附避坑指南)

本文通过Python代码实战,详细讲解了单层感知器的核心原理与实现步骤,5分钟内即可完成逻辑与、或运算的分类任务。文章深入剖析了单层感知器的能力边界,解释了其无法解决异或(XOR)等线性不可分问题的根本原因,并提供了学习率设置、权重初始化等关键避坑指南,帮助初学者直观理解神经网络的基础。

ttt77的博客 1084

关于Blocking waiting for file lock on build directory

命令时遇到“Blocking waiting for file lock on build directory”信息通常意味着Cargo正在等待获取项目构建目录的文件锁。这个锁机制是为了防止多个Cargo实例同时操作同一项目目录,可能会导致数据不一致或损坏。前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。在Rust开发中,使用。

HHX_01的博客 999

30分钟搭建AI科研写作工作台:基于WorkBuddy的论文全流程加速实践

在人工智能技术日益普及的今天,如何利用智能工具提升专业领域工作效率成为关键课题。其核心原理在于通过模块化设计,将复杂的任务流程拆解为可复用、可编排的标准化技能单元,并结合精准的指令控制,实现从通用对话到深度任务执行的转变。这一技术价值在于显著降低重复性劳动强度,将人的创造力聚焦于核心决策与创新环节。在科研写作、数据分析、代码开发等场景中,这类智能工作台能有效辅助完成文献调研、内容生成、格式校验等繁琐步骤。本文以科研论文写作为具体应用场景,深入探讨如何利用WorkBuddy这一智能工作台,通过配置核心科研技能

weixin_29032489的博客 1491

手把手教你用DevExpress Patch工具解决VS项目中的试用弹窗问题

本文详细指导开发者使用DevExpress Patch工具解决Visual Studio项目中恼人的试用弹窗问题。核心在于理解并分步处理:首先正确应用补丁工具以绕过运行时验证,然后重点清理或重置项目中的licenses.licx文件以消除编译时验证,从而彻底根治弹窗。

weixin_29234423的博客 588

RUST: Blocking waiting for file lock on package cache

代码过客 660

通信算法之325:无人机云哨协议及发射机接收机仿真算法

【代码】通信算法之325:无人机云哨物理层协议及发射机接收机仿真代码。

leegang12的专栏 362

Rust语言

Rust语言是一门系统编程语言,专注于安全。Rust语言系统设计于保证内存安全,它在安全代码里不允许空指针,悬垂指针和数据竞争。2015年发布第一版 https://kaisery.github.io/trpl-zh-cn/ 安装 参考:https://blog.csdn.net/weixin_43882409/article/details/87616268?d...

hxxjxw的博客 371

OpenClaw零基础教程:30分钟搭建你的第一个AI自动化助手

别再看那些满是代码、专业术语的教程了,那些都是给程序员看的。这篇教程,我把所有步骤拆到了极致,你跟着点鼠标就行,点错了都没关系,大不了重装一遍,5分钟的事。

2601_94871597的博客 96

matlab计算图像信噪比SNR

【代码】matlab计算图像信噪比SNR。

baidu_34971492的博客 1395

猜数游戏-Rust 入门经典案例

生成一个随机数。提示用户输入猜测。检查用户的输入,并提供提示(例如:“猜大了”或“猜小了”)。重复直到用户猜对为止。结束游戏并显示猜测的次数。标准输入输出:使用io模块处理用户输入。随机数生成:使用rand库生成随机数。错误处理:处理用户输入错误。循环和控制流:使用loop和match实现游戏逻辑。希望这篇博客能帮助你入门 Rust 的游戏开发。通过这个项目,你应该对 Rust 的基本用法和工具有了更深入的了解。如果你有更多问题或需要进一步的帮助,请参考Rust 官方文档或参与。

HHX_01的博客 1137

InvocationException: GraphViz‘s executables not found【BUG已解决】

在机器学习框架中遇到了一个bug:安装了GraphViz模块后,在对着sklearn的决策树文档操作输出决策树模型结果时,还是爆出了如下的错误: 报错位置为: 报错语句为:网上很多答案告诉我们,要我们安装GraphViz模块,然而并不对! 如下,我安装了GraphViz,但是还是报错了。 所以说问题不在这,我查阅质料发现,改正这个bug的方法有一个:下文详细描述。解决bug为: 1.去graphviz.官方下载自己电脑符合的操作系统的安装包:2,安装的时候,记住自己安装在电脑里的位置:以我的电脑为例,我的

一键难忘的博客 3968

【Rust】——猜数游戏

程序将会随机生成一个 1 到 100 之间的随机整数。接着它会请玩家猜一个数并输入,然后提示猜测是大了还是小了。如果猜对了,它会打印祝贺信息并退出

shsjssnn的博客 2388

Python爬虫实战:爬取小红书数据做爆款分析,我破解了签名加密+移动端反爬(附完整代码)

爬取小红书数据的核心,不是“简单的HTTP请求”,而是“理解移动端接口的加密逻辑和反爬规则”——从x-s/x-t签名破解到移动端UA伪装,再到行为模拟,每一步都是对移动端爬虫的深度理解。这套方案的价值在于,不仅能稳定抓取小红书数据,还能从数据中拆解出有价值的爆款特征,真正把“数据”变成“洞察”。对程序员来说,小红书爬虫不仅是技术练手,更是了解新媒体平台数据逻辑的窗口。希望这篇分享能帮到做新媒体分析或爬虫进阶的小伙伴,也欢迎在评论区交流小红书反爬和爆款分析的更多技巧!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2058

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Rust 学习笔记:猜数游戏

Rust 学习笔记:猜数游戏

ProgramNovice的博客 1125

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Rust编程语言入门教程(五)猜数游戏:生成、比较神秘数字并进行多次猜测

功能二进制 crate 用于生成可执行文件,可以直接运行;库 crate 用于生成库文件,提供功能模块供其他 crate 使用。入口点:二进制 crate必须包含一个 main 函数作为程序的入口点;库 crate 不需要 main 函数。编译结果二进制 crate 编译后生成可执行文件;库 crate 编译后生成库文件。依赖关系:二进制 crate 可以依赖库 crate,但库 crate 不能直接运行,必须通过其他 crate 引用。

yoona333的博客 1248

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

rust编程初探-猜数游戏(chapter 2)

rust, rust编程

犇叔的博客 1551

2.1 猜数游戏 - 一次猜测

至此,你已经完成了 Rust 猜数游戏的一个基本版本。虽然这个游戏目前只允许玩家猜测一次,但它覆盖了许多基本概念,包括变量绑定、用户输入处理、外部库的使用,以及基本的流程控制。接下来,你可以尝试扩展这个游戏,比如允许玩家不断猜测直到猜对为止。这个小项目是学习 Rust。

tang7mj的博客 1157

【Rust自学】2.2. 猜数游戏Pt.2 生成随机数

在本篇中,你将学到: 外部Crate的搜索与下载 Cargo依赖项管理 基于语义化版本的升级规则 `rand`随机数生成器 ...

A Rookie in San Domenico School 1201

Rust实现猜数游戏:从入门到实践

编程语言中的输入输出处理和随机数生成是基础但关键的技术点,尤其在系统级编程中更为重要。Rust作为一门现代系统编程语言,通过所有权系统和类型安全机制,在保证性能的同时提供了内存安全保障。猜数游戏项目是理解这些概念的理想实践场景,涉及字符串处理、错误处理、模式匹配等核心特性。通过Cargo包管理工具和标准库的灵活运用,开发者可以快速构建健壮的应用。这种结合理论原理与工程实践的学习方式,特别适合想要掌握Rust语言特性的初学者,也为后续开发更复杂的系统软件打下坚实基础。

weixin_34186128的博客 459

Rust编程语言入门教程(四)猜数游戏:一次猜测

通过本文的介绍,我们成功创建了一个简单的猜数游戏项目。在项目中,我们使用了 Rust 的 std::io 模块来处理输入输出操作,通过 println!宏打印提示信息,使用 read_line 方法获取用户输入,并通过 expect 方法处理可能的错误。虽然目前的代码仅实现了基本的输入输出功能,但它是猜数游戏的核心部分。接下来,我们可以进一步扩展功能,例如生成随机数、判断用户输入的大小关系、处理多次猜测等,使游戏更加完整和有趣。

yoona333的博客 654

8万字带你入门Rust

Rust 📚 学习建议: 先从 整体出发,不要让自己陷入到细节中去 和自己已知的知识建立联系 rust 和go一样采用 组合的手段实现代码复用,不要深思为什么不是继承 学会阅读源码,从源码中学习 Rust设计哲学 使用 cargo new 项目名 在终端中构建项目 使用 cargo build 来构建和运行项目 也可以使用 cargo run 来完成编译和运行任务 第一个程序: fn main(){ println!("hello world!"); } Rust中变量默认都是不可变的,如

m0_57035799的博客 2万+

【Rust自学】2.4. 猜数游戏Pt.4 循环询问

本期知识点为:`loop`循环 `break` `continue` `match`的灵活使用 枚举类型的处理方式

A Rookie in San Domenico School 952

003、一起来玩猜数游戏吧!

通过猜数游戏的例子,初步掌握 Rust 中的输入/输出、导入库、Loop循环、数值比较等。

遇己 1187

【Rust自学】2.1 猜数游戏Pt.1 一次猜测

在本篇中,你将学到 变量的声明 相关的函数 外部的crate(库) 枚举类型 println!()的进阶使用 ...

A Rookie in San Domenico School 1001
上一篇: 【CV博客翻译】An overview into InterFaceGAN: Edit facial attributes of people using GANs
下一篇: 【Rust学习】3.通用的编程概念(变量与可变性,变量类型,元组数组,函数,控制流-if, 循环)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值