for循环和while循环——我终于让程序能重复做一件事了
一、while循环不知道要重复多少次的时候while循环的意思是当条件成立时一直重复执行某段代码。先看一个最简单的例子count 0while count 5:print(f第{count 1}次循环)count count 1运行结果第1次循环第2次循环第3次循环第4次循环第5次循环这段代码的逻辑是1.count 0条件count 5成立进入循环2.打印第1次循环然后count变成13.count 1条件count 5成立继续循环4.一直到count 5条件count 5不成立循环结束关键点while循环需要自己控制结束条件。如果忘记让count增加或者条件永远为真程序就会无限循环一直运行下去直到你强制关闭它。二、无限循环一个需要小心的坑来看这段代码count 0while count 5:print(“第1次循环”)# 忘记写 count count 1count永远是0永远小于5所以这段代码会一直打印第1次循环永远不会停止。这个坑我也踩过。有一次我写了一个循环忘记在循环体里更新变量程序卡在那里一动不动我还以为是电脑死机了。后来才发现是无限循环。从那以后我每次写 while 循环都会先确认循环体里有没有改变条件的语句三、while循环的应用多次体温检测用while循环改写体温检测程序让它能检查多个人count 0while count 3:print(f— 第{count 1}位 —)temp float(input(“请输入你的体温”))if temp 37.5:print(“体温正常请进”)else:print(“体温异常需要隔离”)count count 1运行结果— 第1位 —请输入你的体温36.5体温正常请进— 第2位 —请输入你的体温38.0体温异常需要隔离— 第3位 —请输入你的体温37.0体温正常请进这个程序会依次检查三个人每检查完一个人count 加 1直到 count 等于 3 时循环结束。while 循环适合不知道具体需要重复多少次只知道“满足某个条件就继续”的场景。 比如猜数字游戏一直猜直到猜对为止你不知道用户会猜几次——这种场景用 while 就非常自然。四、for循环知道要重复多少次的时候for循环适合知道具体要重复多少次的场景比如遍历一个序列。先看一个例子for i in range(5):print(f第{i 1}次循环)运行结果第1次循环第2次循环第3次循环第4次循环第5次循环range(5) 会生成 0、1、2、3、4 这五个数字for 循环依次把它们取出来赋值给 i然后执行循环体。for 循环的好处是不用自己控制结束条件它会自动在序列结束时停止不容易出现无限循环。五、range()的三种用法range()是Python里生成数字序列的工具有三种写法1.range(stop):从0到stop-1for i in range(5):print(i) # 0, 1, 2, 3, 42.range(start,stop):从start到stop-1for i in range(1, 6):print(i) # 1, 2, 3, 4, 53.range(start,stop,step):从start到stop-1步长为stepfor i in range(1, 10, 2):print(i) # 1, 3, 5, 7, 9六、break提前结束循环有时候循环不需要等到条件不成立才结束而是在中间某个时刻提前终止。这个时候可以用break。count 0while count 10:count count 1if count 5:print(“遇到5提前结束”)breakprint(count)运行结果1234遇到5提前结束当 count 等于 5 时break 被执行循环立刻结束后面的 print(count) 不会再执行。七、continue跳过本次循环continue的作用是跳过本次循环的剩余代码直接进入下一次循环。for i in range(5):if i 2:continueprint(i)运行结果0134当i等于2时continue被执行print(i)被跳过直接进入下一次循环。八、while和for的区别while 循环满足条件就继续条件不成立就结束。适合不知道需要重复多少次、依赖某个条件是否满足的场景。for 循环遍历完序列就结束。适合知道要重复多少次、或要遍历某个数据集合的场景。场景 推荐用 原因猜数字直到猜对 while 不知道要猜多少次打印 1 到 100 for 知道要重复 100 次遍历列表中的每个元素 for 知道要遍历完整个列表程序持续运行直到用户退出 while 不知道用户什么时候退出九、综合示例猜数字游戏把今天学的东西串起来写一个猜数字游戏import random生成一个 1-100 的随机数secret random.randint(1, 100)guess Nonecount 0print(“猜数字游戏开始数字范围是 1-100”)while guess ! secret:guess int(input(“请输入你猜的数字”))count count 1if guess secret: print(太小了再大一点) elif guess secret: print(太大了再小一点) else: print(f恭喜你猜对了你一共猜了 {count} 次)运行结果猜数字游戏开始数字范围是 1-100请输入你猜的数字50太小了再大一点请输入你猜的数字75太大了再小一点请输入你猜的数字62恭喜你猜对了你一共猜了 3 次这段代码包含了·while 循环直到猜对才结束·break 循环条件用 guess ! secret 控制猜对后条件变为假循环自然结束·if-elif-else 判断提示大了或小了·计数器记录猜测次数小结把今天学的东西整理成一张速查表知识点 作用 示例while 循环 条件成立时一直执行 while count 5:for 循环 遍历序列 for i in range(5):range(n) 生成 0 到 n-1 range(3) → 0,1,2range(a,b) 生成 a 到 b-1 range(2,5) → 2,3,4range(a,b,c) 生成 a 到 b-1步长 c range(1,10,2) → 1,3,5,7,9break 提前结束整个循环 if 条件: breakcontinue 跳过本次继续下一次循环 if 条件: continue什么时候用哪种循环·不知道要重复多少次只知道条件 → while·知道要重复多少次 → for·需要提前结束 → break

相关新闻

基于MCP协议实现AI驱动虚幻引擎自动化:架构设计与工程实践

基于MCP协议实现AI驱动虚幻引擎自动化:架构设计与工程实践

1. 项目概述:当AI遇见虚幻引擎最近在搞一个挺有意思的项目,核心目标就一句话:让AI能像人一样,直接操作虚幻引擎(Unreal Engine, 简称UE)进行自动化工作。听起来是不是有点科幻?但这事…

2026/7/9 21:24:37阅读更多 →
TMC7300与PIC18LF46K80的有刷直流电机驱动方案

TMC7300与PIC18LF46K80的有刷直流电机驱动方案

1. TMC7300驱动芯片与PIC18LF46K80的黄金组合有刷直流电机在嵌入式系统中应用广泛,但从零开始设计驱动电路往往面临功率管选型难、保护电路复杂、控制算法调试周期长等问题。TMC7300这颗高度集成的驱动芯片与PIC18LF46K80微控制器的组合,为中小功率有刷电…

2026/7/9 21:24:37阅读更多 →
UE5体素地形开发:构建可破坏世界与动态导航系统

UE5体素地形开发:构建可破坏世界与动态导航系统

1. 项目概述:从静态地图到动态沙盒的范式转变 如果你和我一样,在游戏开发中受够了传统静态地形的限制——那些精心雕琢的山脉、河流,一旦确定就无法在运行时被玩家的一颗手雷或一次魔法冲击所改变,那么这个项目绝对会让你兴奋。我…

2026/7/9 21:24:37阅读更多 →
Unity大资源包解压优化:从SharpZipLib性能瓶颈到300%提升实战

Unity大资源包解压优化:从SharpZipLib性能瓶颈到300%提升实战

1. 项目概述:当SharpZipLib在Unity中遇到200MB资源包 如果你在Unity项目里用过SharpZipLib来处理资源包的压缩与解压,尤其是当资源包体积膨胀到百兆级别时,大概率经历过那种令人焦躁的等待。屏幕上的进度条像蜗牛一样爬行,主线程被…

2026/7/9 22:34:44阅读更多 →
Unity坐标系转换:从屏幕点击到3D交互的完整指南

Unity坐标系转换:从屏幕点击到3D交互的完整指南

1. 项目概述:为什么屏幕点击不等于3D交互?在Unity里开发一个3D应用,无论是游戏、模拟器还是可视化工具,一个最基础也最让人头疼的问题就是:我明明在屏幕上点了一下,为什么那个3D物体没反应?或者…

2026/7/9 22:34:44阅读更多 →
Video2X视频超分辨率:免费AI工具让模糊视频变清晰的完整指南

Video2X视频超分辨率:免费AI工具让模糊视频变清晰的完整指南

Video2X视频超分辨率:免费AI工具让模糊视频变清晰的完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi…

2026/7/9 22:34:44阅读更多 →
Slackware 15 上安装 VMware Workstation:解决 init 系统不兼容的完整指南

Slackware 15 上安装 VMware Workstation:解决 init 系统不兼容的完整指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 如果你在 Slackware 15 上尝试直接运行 VMware Workstation 的安装脚本,大概率会卡在第一个问题:“你的系统似…

2026/7/9 22:34:44阅读更多 →
Function Calling 结果校验层:LLM 返回了正确格式,不代表内容正确

Function Calling 结果校验层:LLM 返回了正确格式,不代表内容正确

Function Calling 结果校验层:LLM 返回了正确格式,不代表内容正确 一、模型调用了 weather_api,参数格式完美,但查询的城市是"吃了吗" Function Calling 的参数校验常止步于 JSON Schema 验证。Schema 检查了 city 是字…

2026/7/9 22:34:44阅读更多 →
Windows本地提权实战:利用SeImpersonatePrivilege从IIS到SYSTEM

Windows本地提权实战:利用SeImpersonatePrivilege从IIS到SYSTEM

1. 项目概述:从IIS到SYSTEM的权限跃迁在Windows服务器的攻防演练或渗透测试中,我们常常会遇到这样的场景:通过一个Web应用的漏洞,比如文件上传,成功获取了一个反向Shell。登录一看,当前用户是IIS APPPOOL\D…

2026/7/9 22:29:43阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/9 5:56:19阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/9 9:45:20阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/9 2:47:07阅读更多 →
Three.js 着色器光效教程

Three.js 着色器光效教程

着色器光效 Shader Light ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 ShaderMaterial 自…

2026/7/9 0:04:37阅读更多 →
如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南 【免费下载链接】casemove A dedicated desktop app that enables you to move items in and out of storage units in CS2. 项目地址: https://gitcode.com/gh_mirrors/ca/casemove 还在为CS2存储单…

2026/7/9 0:04:37阅读更多 →
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M…

2026/7/9 0:04:37阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/9 9:45:20阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/9 15:50:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/9 14:14:17阅读更多 →