三、while 循环学习笔记
2026-02-19
Python基础
type
Post
status
Published
date
Feb 19, 2026
slug
python-while-loop-notes-3
summary
while 循环就像是自动门——只要满足条件(有人靠近),门就会一直开着;条件不满足(没人了),门就关上。这种"条件驱动"的方式在处理不确定次数的场景时特别有用!
tags
Python的逻辑处理
category
Python基础
icon
password
💡 学习感悟:while 循环就像是自动门——只要满足条件(有人靠近),门就会一直开着;条件不满足(没人了),门就关上。这种"条件驱动"的方式在处理不确定次数的场景时特别有用!
1. 为什么需要 while 循环?
我的理解
在没有 while 循环之前,如果要重复执行某些操作,我得写很多重复代码:
这样写不仅代码冗长,而且如果要改变次数,需要修改很多地方!
while 循环的出现解决了这个问题——它会根据条件自动判断是否继续执行。
while vs for:我该怎么选?
特性 | while 循环 | for 循环 |
使用场景 | 条件满足时重复执行 | 遍历已知序列或固定次数 |
计数器管理 | 需要手动初始化、更新 | 自动管理,无需手动 |
语法复杂度 | 需要条件表达式和更新语句 | 简洁,一行代码 |
终止条件 | 需要手动确保条件会变为假 | 遍历完所有元素自动结束 |
典型用途 | 等待用户输入、游戏循环 | 遍历列表、字符串、range() |
📝 我的理解:
- 当循环次数不确定,需要根据条件判断是否继续时,优先使用
while循环
- 当需要遍历序列(列表、字符串等)或执行固定次数的循环时,使用
for循环
2. while 循环基本语法
2.1 基本结构
语法要点
while后面跟条件表达式
- 条件表达式结果为
True时执行循环体
- 条件表达式结果为
False时退出循环
- 循环体需要缩进(通常 4 个空格)
- 循环体内通常需要修改条件变量,避免无限循环
2.2 简单示例
📝 我的理解:while 循环的核心是条件判断。每次执行完循环体,都会回到 while 那里检查条件,条件为真就继续,为假就退出。所以一定要在循环体内修改条件变量,否则就会陷入死循环!
3. while 循环的执行流程
3.1 while 循环执行流程图
3.2 执行步骤说明
- 开始:进入 while 循环
- 判断条件:检查条件表达式是否为真(True)
- 执行循环体:如果条件为真,执行循环体内的代码
- 更新循环变量:通常需要更新条件变量,为下次判断做准备
- 重复:回到步骤 2,继续判断条件
- 结束:当条件为假(False)时,退出循环
3.3 文字版执行步骤
4. break 语句
4.1 什么是 break?
break 语句用于立即终止循环,无论循环条件是否仍然为真。程序会跳出循环体,继续执行循环后面的代码。4.2 break 执行流程图
4.3 break 使用场景
- 找到目标值后提前退出
- 用户选择退出时结束循环
- 发生错误时停止处理
📝 我的理解:break 就像是紧急停止按钮——一旦按下,不管条件是什么,循环立刻停止。这在查找元素时特别有用,找到了就不需要继续遍历了。
5. continue 语句
5.1 什么是 continue?
continue 语句用于跳过当前迭代的剩余代码,直接进入下一次循环。它不会终止整个循环,只是跳过本次循环中 continue 后面的代码。5.2 continue 执行流程图
5.3 continue 使用场景
- 跳过某些特定值的处理
- 过滤不符合条件的数据
- 实现复杂的循环逻辑
📝 我的理解:continue 就像是跳过当前,继续排队。遇到 continue 时,当前这次循环剩下的代码不执行了,直接回到 while 检查条件,准备下一次迭代。适合用来过滤数据。
⚠️ 踩坑记录:使用 continue 时要特别注意——continue 后面的变量更新语句也会跳过!我曾经因为 continue 跳过了i = i + 1,结果陷入了无限循环...😅
6. while-else 结构
6.1 什么是 while-else?
while 循环可以带一个 else 子句。当循环正常结束(没有被 break 中断)时,else 块会被执行。6.2 while-else 执行流程图
6.3 使用场景
- 循环结束后执行清理操作
- 检查循环是否正常完成
- 实现搜索逻辑(没找到时执行)
📝 我的理解:while-else 这个结构刚开始让我有点困惑——为什么循环后面还能跟 else?后来理解了:else 是在循环正常结束时执行的,如果被 break 了就不执行。这在查找元素时很有用——找到了 break,没找到就执行 else 提示。
7. 无限循环
7.1 什么是无限循环?
无限循环是指永远不会自动结束的循环,通常使用
while True: 创建。无限循环需要通过 break 语句或外部干预来终止。7.2 无限循环执行流程图
7.3 无限循环的使用场景
- 服务器主循环
- 游戏主循环
- 等待用户输入
- 实时数据处理
📝 我的理解:while True:创建了一个永远为真的条件,所以循环会一直执行,直到遇到 break。这在需要持续运行、等待用户输入的程序中很常见。
8. 嵌套 while 循环
8.1 什么是嵌套循环?
在一个
while 循环内部再写另一个 while 循环,称为嵌套循环。外层循环每执行一次,内层循环会完整执行一遍。8.2 嵌套循环执行流程图
8.3 使用场景
- 打印二维图形(如乘法表)
- 处理多维数据
- 实现复杂的迭代算法
📝 我的理解:嵌套 while 循环需要特别注意变量的初始化和更新。外层循环变量在内层循环开始前初始化,在内层循环结束后更新。如果搞错了顺序,很容易出错!
9. 实际应用案例
9.1 用户登录验证
📝 我的理解:这个登录系统展示了 while 循环的经典用法——次数不确定,需要条件判断。我们不知道用户会输错几次,所以用 while 循环配合 attempts 计数器来控制。
9.2 猜数字游戏
📝 我的理解:猜数字游戏用while True创建了一个游戏主循环,直到猜对数字才用 break 退出。这种"无限循环 + break"的模式在交互式程序中很常见。
9.3 累加求和
9.4 菜单系统
10. 遇到的问题和解决
10.1 忘记更新循环变量(死循环)
⚠️ 踩坑记录:这是我犯过最多次的错误!写 while 循环时,一定要记得在循环体内更新条件变量,否则就会陷入无限循环,程序卡死,只能强制关闭...
10.2 循环条件设置错误
⚠️ 踩坑记录:我曾经写过一个条件while i > 0,然后循环体内i = i + 1,结果 i 越来越大,永远大于 0,程序陷入死循环...写条件时一定要想清楚:这个条件最终会变为假吗?
10.3 continue 跳过变量更新
⚠️ 踩坑记录:使用 continue 时一定要小心!我曾经因为 continue 跳过了i = i + 1,结果 i 的值一直没变,条件永远满足,程序陷入死循环...😅
11. 核心知识点整理
11.1 while 循环的基本形式
11.2 循环控制语句
- break:立即终止整个循环
- continue:跳过当前迭代,进入下一次
- else:循环正常结束时执行(被 break 则不执行)
11.3 无限循环
11.4 嵌套循环
- 外层循环每执行一次,内层循环完整执行一遍
- 注意变量的初始化和更新顺序
11.5 常见错误
- 忘记更新循环变量(死循环)
- 循环条件设置错误(永远为真)
- continue 跳过变量更新(死循环)
11.6 while vs for 选择
- while:循环次数不确定,需要条件判断
- for:遍历序列或固定次数
必须要能完成下面这几个.
- 使用
while循环打印 1 到 100 的所有偶数
- 使用
while循环计算一个数的阶乘
- 使用
while循环实现一个简单的计算器,可以连续进行多次计算
- 使用嵌套
while循环打印一个直角三角形
- 使用
while循环和break实现查找列表中的特定元素
Loading...
