当前位置: 首页 > article >正文

第5篇:重复执行——让程序帮你干活 Rust中文编程

第5篇重复执行——让程序帮你干活作者李金雨联系方式wbtm2718qq.com目标读者Rust中文编程核心理念AI时代必须使用中文编程母语编程阅读效率极高1. 开篇引入本课目标掌握for循环的使用掌握while循环的使用掌握loop循环的使用掌握break和continue语句的使用理解嵌套循环生活场景引入想象一下你需要做以下事情给班级里的每个同学发一份试卷反复练习一道数学题直到掌握每天早上起床、刷牙、洗脸、吃早饭这些都是重复的事情如果我们手动去做会很麻烦。但如果让程序来帮我们做这些重复的事情就会轻松很多。预期成果展示通过这节课的学习你将能够使用for循环遍历数据使用while循环根据条件重复执行使用loop循环创建无限循环使用break语句跳出循环使用continue语句跳过本次循环编写能够重复执行任务的程序2. 概念讲解for循环for循环就像点名册逐个点名遍历一个集合中的每个元素。fnmain(){for变量in集合{// 对每个元素执行的代码}}例如fnmain(){// 遍历数字1到5for数字in1..5{println!({} 是我喜欢的数字,数字);}// 遍历数组let数字们[1,2,3,4,5];for数字in数字们{println!(数字{},数字);}// 遍历字符串let名字张三;for字符in名字.chars(){println!(字符{},字符);}}while循环while循环就像反复练习只要条件满足就一直执行。fnmain(){while条件{// 条件满足时执行的代码}}例如fnmain(){letmut计数器0;while计数器5{println!(计数器{},计数器);计数器1;}println!(循环结束);}loop循环loop循环是一个无限循环会一直执行下去直到遇到break语句。fnmain(){loop{// 无限执行的代码if条件{break;// 跳出循环}}}例如fnmain(){letmut计数器0;loop{println!(计数器{},计数器);计数器1;if计数器5{break;// 当计数器达到5时跳出循环}}println!(循环结束);}break语句break语句用于跳出当前循环不再执行循环中的剩余代码。fnmain(){for数字in1..10{if数字5{break;// 当数字等于5时跳出循环}println!(数字{},数字);}println!(循环结束);}continue语句continue语句用于跳过本次循环的剩余代码直接开始下一次循环。fnmain(){for数字in1..5{if数字3{continue;// 当数字等于3时跳过本次循环}println!(数字{},数字);}println!(循环结束);}嵌套循环嵌套循环就是在一个循环里面再放一个循环。fnmain(){// 打印乘法表for行in1..9{for列in1..行{print!({} × {} {:2} ,列,行,行*列);}println!();}}3. 动手实践基础练习必做打印乘法表创建一个程序打印9×9乘法表fnmain(){for行in1..9{for列in1..行{print!({} × {} {:2} ,列,行,行*列);}println!();}}计算1到100的和创建一个程序计算1到100的和fnmain(){letmut和0;for数字in1..100{和数字;}println!(1到100的和{},和);}打印三角形创建一个程序打印一个三角形fnmain(){let行数5;for行in1..行数{// 打印空格for_in1..(行数-行){print!( );}// 打印星号for_in1..(2*行-1){print!(*);}println!();}}进阶练习选做猜数字游戏完整版创建一个程序模拟猜数字游戏fnmain(){let目标数字42;letmut猜测次数0;loop{letmut输入String::new();println!(请输入一个数字);std::io::stdin().read_line(mut输入).expect(读取失败);let猜测数字:i32match输入.trim().parse(){Ok(数字)数字,Err(_){println!(请输入有效的数字);continue;}};猜测次数1;if猜测数字目标数字{println!(猜小了);}elseif猜测数字目标数字{println!(猜大了);}else{println!(猜对了你用了{}次,猜测次数);break;}}}打印菱形创建一个程序打印一个菱形fnmain(){let大小5;// 上半部分for行in1..大小{for_in1..(大小-行){print!( );}for_in1..(2*行-1){print!(*);}println!();}// 下半部分for行in(1..size).rev(){for_in1..(大小-行){print!( );}for_in1..(2*行-1){print!(*);}println!();}}挑战练习拓展素数筛法创建一个程序找出1到100之间的所有素数fnmain(){println!(1到100之间的素数);for数字in2..100{letmut是素数true;for除数in2..数字{if数字%除数0{是素数false;break;}}if是素数{print!({} ,数字);}}println!();}4. 知识总结核心概念回顾for循环用于遍历集合中的每个元素while循环只要条件满足就一直执行loop循环无限循环直到遇到break语句break语句跳出当前循环continue语句跳过本次循环的剩余代码嵌套循环在一个循环里面再放一个循环关键代码速查循环类型语法示例for循环for 变量 in 集合 { 代码 }for 数字 in 1..5 { println!({}, 数字); }while循环while 条件 { 代码 }while 计数器 5 { 计数器 1; }loop循环loop { 代码; if 条件 { break; } }loop { println!(Hello); break; }break语句break;跳出循环continue语句continue;跳过本次循环常见错误提醒无限循环忘记在while或loop循环中修改条件导致循环永远不会结束死循环loop循环中忘记添加break语句变量作用域循环变量只在循环内部有效性能问题嵌套循环的层数过多会影响性能5. 课后作业巩固练习题编写一个程序打印1到100之间的所有偶数编写一个程序计算10的阶乘10!编写一个程序打印斐波那契数列的前20项创意编程题发挥你的创意创建一个程序打印一个复杂的图案编写一个程序模拟一个简单的倒计时器下篇预习提示下一篇我们将学习数据容器——管理大量数据就像学习如何使用不同的容器来管理大量的数据。预习一下什么是数据容器有哪些类型的数据容器如何使用数组如何使用向量如何使用元组恭喜你完成了第五篇教程你已经掌握了循环语句学会了如何让程序帮你重复执行任务。继续加油下一篇我们将学习如何管理大量数据学习交流如果你在学习过程中遇到任何问题欢迎联系我** 视频号“时空系”邮箱wbtm2718qq.com其他提示本人正在开发纯中文编程语言和编译器有兴趣的可以交流本人正在写一本基于中国母语思维习惯的数学教材可以让你一年内学完从初中到研究生的数学而且可以让你快速掌握人工智能的关键数学知识有兴趣的可以交流祝你学习愉快

相关文章:

第5篇:重复执行——让程序帮你干活 Rust中文编程

第5篇:重复执行——让程序帮你干活 作者: 李金雨 联系方式: wbtm2718qq.com 目标读者: Rust中文编程 核心理念: AI时代必须使用中文编程,母语编程阅读效率极高 1. 开篇引入 本课目标 掌握for循环的使用掌…...

Windows右键菜单终极管理指南:告别混乱,实现高效文件操作

Windows右键菜单终极管理指南:告别混乱,实现高效文件操作 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 在Windows系统中,右…...

别再到处找现成的了!手把手教你用CentOS 7.9定制一个带专属软件的LiveCD启动盘

从零构建企业级CentOS 7.9定制化LiveCD实战指南 每次新员工入职都要重复配置相同的开发环境?客户演示时总被环境差异搞得手忙脚乱?教学实验室的机器配置参差不齐?这些场景正是定制化LiveCD大显身手的地方。本文将带你深入掌握基于CentOS 7.9打…...

告别界面拥挤!用ttkbootstrap的Notebook组件给你的Python GUI做个清爽的‘文件夹‘

用ttkbootstrap的Notebook组件打造清爽Python GUI界面 每次打开一个功能繁杂的桌面应用,看到满屏按钮和输入框挤在一起,是不是感觉头都大了?就像把办公桌上所有文件、文具、咖啡杯都堆在同一个角落,找什么都费劲。Python的tkinter…...

小红书App深度链接(Scheme)逆向与安全实践指南:以AutoJs调用为例

小红书深度链接(Scheme)安全分析与AutoJs自动化实践 打开手机上的小红书App,点击某个按钮跳转到指定页面——这背后隐藏着一套名为**深度链接(Deep Link)**的技术机制。对于安全研究人员和高级开发者而言,理解这套机制不仅意味着能够实现自动化操作&…...

5个开源解码技巧:如何用MPC-BE突破Windows媒体播放性能瓶颈

5个开源解码技巧:如何用MPC-BE突破Windows媒体播放性能瓶颈 【免费下载链接】MPC-BE MPC-BE – универсальный проигрыватель аудио и видеофайлов для операционной системы Windows. 项目地址…...

Python+GeoPandas实战:5分钟搞定地图坐标系转换(附常见CRS避坑指南)

PythonGeoPandas实战:5分钟搞定地图坐标系转换(附常见CRS避坑指南) 当你在高德地图上标注的店铺位置,放到百度地图却偏移了500米;当你的GPS设备采集的坐标在地图上显示到隔壁街区;当你的地理分析结果与官方…...

别再只用Task.Run了!用TaskCompletionSource在C#里优雅地控制异步流程(附真实支付场景代码)

用TaskCompletionSource重构C#异步支付流程:从回调地狱到优雅编排 在电商支付这类多步骤异步操作中,我们常常遇到这样的困境:库存检查、支付网关调用、订单状态更新等操作存在严格的先后依赖关系,而传统的Task.Run或Task.Wait要么…...

爬虫党必看:实测6个免费代理网站,手把手教你筛选出最快最稳的IP

高效数据采集实战:6大免费代理源测评与智能筛选方案 在数据采集领域,代理IP的质量直接影响着爬虫的稳定性和效率。面对市场上众多的免费代理源,如何快速识别可用资源并建立有效的筛选机制,成为每位数据工程师的必备技能。本文将基…...

如何3步轻松下载B站大会员4K视频:你的个人高清资源库搭建指南

如何3步轻松下载B站大会员4K视频:你的个人高清资源库搭建指南 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 你是否遇到过…...

基础模型如何革新科研工作流与科学发现

1. 基础模型与科学发现的范式转移 实验室里的显微镜旁堆满了未标记的样本,隔壁工作站正在训练第37版蛋白质结构预测模型。三年前需要博士生团队半年才能完成的文献综述,现在GPT-4用20分钟就能生成初步框架。这不是科幻场景,而是我最近在生物医…...

别再只调参了!深入CPO的‘循环种群减少’策略,帮你跳出局部最优陷阱

冠豪猪优化算法(CPO)的防御策略与工程实践:从理论到代码实现 在解决复杂工程优化问题时,传统算法常常面临收敛速度慢和易陷入局部最优的双重困境。2024年提出的冠豪猪优化算法(Crested Porcupine Optimizer, CPO)通过模拟自然界中冠豪猪的防御行为&#…...

歌词滚动姬:零基础也能制作专业LRC歌词的终极指南

歌词滚动姬:零基础也能制作专业LRC歌词的终极指南 【免费下载链接】lrc-maker 歌词滚动姬|可能是你所能见到的最好用的歌词制作工具 项目地址: https://gitcode.com/gh_mirrors/lr/lrc-maker 还在为制作精准的歌词时间轴而烦恼吗?歌词…...

告别官方代码!手把手教你为YOLOv8-Seg模型定制ONNX导出,适配RKNN/Horizon/TensorRT部署

深度定制YOLOv8-Seg模型:从PyTorch到边缘计算芯片的高效部署指南 在计算机视觉领域,实时语义分割一直是工业应用中的关键技术挑战。YOLOv8-Seg作为最新一代的实时分割网络,其性能与效率平衡令人印象深刻。然而,当我们需要将其部署…...

Zephyr驱动初始化顺序详解:你的驱动为什么没跑起来?从链接脚本到启动流程的深度排错

Zephyr驱动初始化顺序详解:从链接脚本到启动流程的深度排错 当你在Zephyr RTOS中开发自定义驱动程序时,是否遇到过这样的场景:精心编写的驱动代码在运行时毫无反应,或者系统在启动阶段就崩溃?这往往与驱动初始化顺序的…...

Windows Cleaner:终极免费的Windows系统清理工具,一键解决C盘爆满问题

Windows Cleaner:终极免费的Windows系统清理工具,一键解决C盘爆满问题 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经历过这样的…...

别再只盯着SENet了!用PyTorch手把手实现CBAM注意力模块(附完整代码与可视化)

从零实现CBAM注意力模块:PyTorch实战与可视化对比 在计算机视觉领域,注意力机制已经成为提升模型性能的关键技术。虽然SENet通过通道注意力取得了显著效果,但CBAM(Convolutional Block Attention Module)更进一步&…...

在 Node.js 服务中集成 Taotoken 实现稳定 AI 功能调用

在 Node.js 服务中集成 Taotoken 实现稳定 AI 功能调用 1. 环境准备与基础配置 在 Node.js 服务中集成 Taotoken 的第一步是完成基础环境配置。建议将 API Key 存储在环境变量中而非硬编码,这既符合安全规范也便于多环境部署。在项目根目录创建 .env 文件并添加以…...

避开FANUC机器人后台编程的坑:DO状态输出程序组掩码设置与常见错误

FANUC机器人后台编程实战:DO信号输出与组掩码深度解析 在工业自动化领域,FANUC机器人以其稳定性和灵活性著称,而后台程序(Background Logic)作为其重要功能之一,常被用于实时监控和状态输出。然而,许多工程师在实际开发…...

如何快速配置NBFC-Linux:笔记本电脑风扇控制终极指南

如何快速配置NBFC-Linux:笔记本电脑风扇控制终极指南 【免费下载链接】nbfc-linux NoteBook FanControl ported to Linux 项目地址: https://gitcode.com/gh_mirrors/nb/nbfc-linux NBFC-Linux是一款专为Linux系统设计的笔记本电脑风扇控制工具,能…...

一个标准 Java SpringBoot 项目 Git ignore 文件

一个标准 Java SpringBoot 项目 Git ignore 文件 target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/**/target/ !**/src/test/**/target/ .kotlin### IntelliJ IDEA ### .idea/modules.xml .idea/jarRepositories.xml .idea/compiler.xml .idea/libraries/ *.iws *.iml *…...

cn-daily-tools:专为中文开发者打造的高效本土化工具库

1. 项目概述:一个中文开发者的日常工具箱如果你是一个经常在GitHub上寻找轮子的中文开发者,大概率会和我有一样的感受:很多优秀的工具库是英文的,文档是英文的,社区讨论也是英文的。这当然没问题,开源无国界…...

NCP1611/NCP1612 PFC控制器CCFF技术与应用解析

1. NCP1611/NCP1612 PFC控制器核心特性解析 NCP1611和NCP1612是安森美半导体推出的高性能功率因数校正(PFC)控制器,采用创新的电流控制频率回退(CCFF)技术。这两款器件在开关电源设计中扮演着关键角色,特别是在需要高功率因数(>0.99)和低总谐波失真(T…...

Transformer如何预测全国空气质量?AirFormer论文核心思想与代码复现指北

Transformer在空气质量预测中的革命性突破:AirFormer架构解析与实战指南 1. 时空预测的新范式:当Transformer遇见环境科学 2017年Transformer架构的横空出世彻底改变了自然语言处理领域的游戏规则,而如今这一革命性技术正在环境科学领域掀起新…...

PX4飞控固件里那些配置文件都是干啥的?从default.px4board到rc.board_sensors的保姆级解读

PX4飞控固件配置文件全景解析:从硬件抽象到传感器启动的完整链路 当你第一次打开PX4飞控的代码仓库,面对数十个配置文件和嵌套的目录结构时,那种扑面而来的压迫感我至今记忆犹新。作为开源飞控领域的标杆,PX4的强大之处在于其模块…...

避坑指南:在银河麒麟V10桌面版安装Qt 5.12.10时,如何解决权限卡死和图标不见的问题?

银河麒麟V10桌面版Qt 5.12.10安装避坑实战:权限管理与图标修复全解析 第一次在银河麒麟V10上安装Qt 5.12.10的经历,让我深刻体会到Linux系统权限管理的精妙与严格。当安装进度条莫名其妙卡在60%不动,或是明明安装成功却找不到桌面图标时&…...

如何快速解决ComfyUI ControlNet Aux中DWPose ONNX运行时错误:终极指南

如何快速解决ComfyUI ControlNet Aux中DWPose ONNX运行时错误:终极指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 你是否在使用ComfyUI C…...

DeepResearchEval框架:标准化研究流程的动态编排引擎

1. 项目背景与核心价值 去年在做一个跨领域研究项目时,我深刻体会到人工构建研究任务流程的痛点:从数据收集、清洗到模型训练和评估,每个环节都需要重复造轮子。不同研究团队对相同问题的评估标准往往不一致,导致结果难以横向比较…...

D3KeyHelper:暗黑3鼠标宏工具终极指南,轻松告别手酸烦恼

D3KeyHelper:暗黑3鼠标宏工具终极指南,轻松告别手酸烦恼 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 厌倦了在暗黑破坏神3…...

终极指南:如何使用KMS智能激活工具永久激活Windows和Office

终极指南:如何使用KMS智能激活工具永久激活Windows和Office 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否曾因Windows系统频繁弹出激活提示而困扰?Office突然变成…...