三、while 循环学习笔记

三、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 执行步骤说明

  1. 开始:进入 while 循环
  1. 判断条件:检查条件表达式是否为真(True)
  1. 执行循环体:如果条件为真,执行循环体内的代码
  1. 更新循环变量:通常需要更新条件变量,为下次判断做准备
  1. 重复:回到步骤 2,继续判断条件
  1. 结束:当条件为假(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:遍历序列或固定次数

必须要能完成下面这几个.

  1. 使用 while 循环打印 1 到 100 的所有偶数
  1. 使用 while 循环计算一个数的阶乘
  1. 使用 while 循环实现一个简单的计算器,可以连续进行多次计算
  1. 使用嵌套 while 循环打印一个直角三角形
  1. 使用 while 循环和 break 实现查找列表中的特定元素
推荐云服务

雨云 - 云服务器首选

稳定 · 高速 · 性价比超高

使用优惠码立享折扣,开启你的云端之旅~

一元试用秒级开通24h在线客服

优惠码

zqf
立即访问
Loading...
灵心小窝

灵心小窝

这里不是一个喧闹的地方,只是用来存放一些还不想遗忘的东西。

声明 © 2026 早清风
加载中...