while 循环
while 循环用于在“条件满足”的前提下,重复执行代码。
特点:条件为 True → 无限执行;条件为 False → 结束循环。
流程说明
- 判断条件
- 若条件为 是(True) → 执行操作
- 操作完成后再次回到条件处检查
- 若条件为 否(False) → 结束循环
此流程不断重复,形成循环结构。
定义格式
while 条件:
条件为 True 时重复执行的代码
书写规范与 if 语句相同:
while与条件之间需留空格- 条件后必须加
: - 循环体代码需缩进(4 空格)
使用示例
i = 0
while i < 100:
print("观止study")
i += 1 # 等效于 i = i + 1
说明:
- 设置
i += 1是为了让循环条件最终变为 False - 若没有递增 i,会造成 无限循环
- 上述代码会输出 100 次
"观止study"
for 循环
for 循环用于 对一批内容进行逐个处理,本质是遍历“可迭代对象”。
定义格式
for 临时变量 in 可迭代对象:
满足循环规则时执行的代码
说明:
- 可迭代对象(iterable):指其内容可以“一个个依次取出”的数据类型,包括:
- 字符串(string)
- 列表(list)
- 元组(tuple)
- range() 生成的数字序列
- 其他可迭代类型
流程说明
- for 循环会查看可迭代对象中是否“还有下一个元素”
- 若有 → 取出该元素赋值给临时变量,并执行循环体代码
- 若没有 → 结束循环
每次循环都会向后取一个新的元素,直到取完所有数据。
使用示例:遍历字符串
name = "study"
for x in name:
print(x)
输出:
s
t
u
d
y
解释:
- 字符串是可迭代对象
"study"中的每一个字符会依次赋值给变量x
for 循环与 while 循环的区别
| 项目 | for 循环 | while 循环 |
|---|---|---|
| 循环方式 | 遍历可迭代对象 | 条件控制 |
| 是否可构建无限循环 | 理论上不能(对象不可能无限大) | 可以,只要条件恒 True |
| 使用场景 | 知道数据集合时 | 条件驱动时 |
总结:
- for 循环更适合“遍历现有数据”
- while 更适合“条件驱动型循环”
range 语句
range() 用于生成“数字序列”,属于可迭代对象,因此可以与 for 循环配合使用。
常用于规定循环次数、按步长生成序列等操作。
range 的三种语法
语法 1:range(num)
生成一个从 0 开始 到 num 结束(不包含 num) 的数字序列。
示例:
for x in range(5):
print(x)
输出:
0
1
2
3
4
语法 2:range(num1, num2)
生成从 num1 开始,到 num2(不含) 结束的数字序列。
示例:
for x in range(5, 10):
print(x)
输出:
5
6
7
8
9
语法 3:range(num1, num2, step)
生成从 num1 开始,到 num2(不含) 结束,中间间隔为 step 的数字序列。
step 默认值为 1,可自定义为任意整数(正向或反向)。
示例:
for x in range(5, 10, 2):
print(x)
输出:
5
7
9
range 的用途总结
- 控制循环次数
- 快速生成数字列表
- 实现步长控制(如:每隔 2 个数处理一次)
循环中断
循环中断用于控制循环执行过程中的“跳过”与“终止”,主要包含两种关键字:
continue—— 跳过当前循环,进入下一次循环break—— 直接结束整个当前循环
两者均可用于 for 循环 与 while 循环。
在嵌套循环中,只作用于所在的那一层循环。
continue —— 跳过本次循环
作用:
- 临时跳过当前这一轮循环
- 不执行 continue 后面的代码
- 直接进入下一次循环判断
示例:
for num in range(5):
if num == 3:
continue # 当 num == 3 时跳过本次循环
print(num)
输出:
0
1
2
4
解释:
- 当 num 为 3 时,没有执行 print
- 因为 continue 会立即跳到下一次循环
break —— 直接终止循环
作用:
- 不再继续执行循环
- 直接退出当前循环整体(不是跳过,而是停止)
示例:
for num in range(5):
if num == 3:
break # 当 num == 3 时结束整个循环
print(num)
输出:
0
1
2
解释:
- 循环在 num == 3 时被 break 终止
- 因此只输出了 0、1、2
continue 与 break 的对比
| 关键字 | 行为 | 是否结束循环 |
|---|---|---|
| continue | 跳过本次循环,继续下一次 | 否 |
| break | 终止整个循环 | 是 |
嵌套循环中的行为
无论是 continue 还是 break:
- 都只对所在层的循环生效
- 不会影响外层循环
全文概览
作用
循环结构用于在一定条件下重复执行一段代码,是编程中最重要的流程控制结构之一。
while 循环
作用
条件满足时重复执行代码。
格式
while 条件:
条件为 True 时执行的代码
要点
- 条件控制循环
- 必须设计终止条件(否则会无限循环)
- 循环体前必须缩进(4 空格)
for 循环
作用
对一批内容执行“逐个处理”。
格式
for 临时变量 in 可迭代对象:
循环体代码
说明
- 可迭代对象包括:字符串、列表、元组、range 序列等
- for 循环本质是取出一个元素→处理→取下一个元素
- 不依赖条件判断,因此不用于无限循环
range 语句
用于生成数字序列,是最常用的可迭代对象之一。
range(num)
生成从 0 到 num(不含 num)的序列。
range(num1, num2)
生成从 num1 到 num2(不含 num2)的序列。
range(num1, num2, step)
生成从 num1 到 num2(不含 num2),步长为 step 的序列。
循环中断
用于控制循环的执行方式,使循环更加灵活高效。
continue(跳过)
- 跳过本次循环
- 直接进入下一次循环
- 不执行 continue 后的语句
- 仅作用于当前层循环
break(终止)
- 完全结束当前循环
- 不再继续执行后续循环内容
- 仅作用于当前层循环
注意事项
- while 主要依赖条件;for 主要依赖可迭代对象
- 若需要“执行若干次”通常用 for + range
- 若需要“满足某条件前一直执行”通常用 while
- continue / break 让循环具备更强控制力