# 知识库

# 2.2.2 循环语句

循环结构是程序设计中的一种核心控制结构，允许反复执行指定代码，直到特定条件不再满足为止。它不仅可以处理简单的任务重复，还能根据程序运行情况动态调整执行次数，是编写高效、灵活程序的重要工具。Python 中用 `for` 和 `while` 实现循环结构，称为循环语句。`for` 循环通常用于已知迭代次数的情况，例如遍历列表、字符串、字典等可迭代对象，依次访问每个元素，无须手动管理循环计数器。`while` 循环适用于迭代次数未知的情况，根据条件决定是否继续执行循环体，必须手动设置并更新循环条件，让循环趋向于结束，否则会形成无限循环。

`for` 循环的写法是 `for 变量 in 可迭代对象:`，循环体必须缩进。例如遍历列表 `fruits = ["apple", "banana", "cherry"]` 时，变量 `fruit` 依次取各个元素并打印；遍历字符串 `"hello"` 会依次得到字符；遍历字典常用 `for key, value in person.items():` 同时取出键和值。`while` 循环的一般形式为 `while 循环条件1:`，条件为真就执行代码块，否则结束循环。例如求 1 到 100 的和：循环变量 `i` 初值为 1，条件为 `i <= 100`，循环体中执行 `s += i` 后必须写 `i += 1`。这里 `i` 就是循环变量，`i += 1` 必不可少，作用是改变循环变量的值，让循环趋向于结束。

`break` 用于提前终止循环：执行到 `break` 时，当前循环立即停止，程序跳出循环体，继续执行循环之后的代码。`continue` 用于跳过当前循环的剩余代码，立即进入下一次循环判断。例如在员工工资列表中找到第一个大于 10000 元的工资后即可 `break`，后面的元素不必再访问。遍历整数列表对偶数减半输出时，若当前元素为奇数则 `continue`，跳过减半与输出。如果在一个循环的代码块内又包含另一个循环，就形成循环嵌套。外层循环每执行一次，内层循环会完整运行一遍，常用于处理表格、矩阵等多维数据。例如 4 行 4 列的二维列表按行输出时，外层循环控制行索引、内层循环控制列索引，内层循环的代码共执行 4×4=16 次。

使用循环时要注意：`while` 中忘记更新循环变量会导致无限循环；`break` 只终止当前这一层循环，嵌套时不会自动结束外层；`continue` 不会退出循环，只是跳过本轮剩余语句。另外，`for v in a:` 中对循环变量做 `v //= 2` 这类修改，一般不会改写原列表 `a` 中的对应元素。

## 关键要点
- 循环结构反复执行指定代码，直到特定条件不再满足。
- Python 用 `for` 和 `while` 实现循环，称为循环语句。
- `for` 适合已知迭代次数、遍历可迭代对象，无须手动管理循环计数器。
- `while` 适合迭代次数未知；必须更新循环条件，否则形成无限循环。
- `break` 提前终止当前循环；`continue` 跳过本轮剩余代码，进入下一次循环。
- 循环嵌套：外层每执行一次，内层完整运行一遍；4×4 矩阵内层共执行 16 次。

---
