1. 引言
while
循环是一种 基于条件 的循环,适用于 不确定循环次数 的场景。当 条件为 True
时,循环体中的代码会不断执行,直到条件变为 False
。
2. while
语法结构
基本语法:
while 条件:
代码块
执行流程:
- 先 判断条件 是否为
True
。 - 若条件满足,则执行 循环体代码,然后回到 条件判断。
- 若条件变为
False
,则退出循环。
3. while
循环示例
3.1 计算 1-5 的累加和
sum = 0
i = 1
while i <= 5:
sum += i
i += 1
print(f"总和: {sum}")
输出:
总和: 15
3.2 无限循环
如果 while
条件始终为 True
,则 循环不会结束,形成无限循环。
while True:
print("这是一条死循环!")
⚠️ 注意:要小心使用 无限循环,通常需要 break
语句 来手动终止循环。
3.3 while
+ input()
实现用户交互
while True:
user_input = input("请输入 'exit' 退出: ")
if user_input == "exit":
print("循环结束!")
break
print(f"你输入的是:{user_input}")
示例运行:
请输入 'exit' 退出: hello
你输入的是:hello
请输入 'exit' 退出: exit
循环结束!
4. break
语句:终止 while
循环
break
语句 立即终止 while
循环,后续代码不会执行。
示例:找到第一个 3 并退出
i = 1
while i <= 5:
if i == 3:
print("找到 3,退出循环")
break
print(i)
i += 1
输出:
1
2
找到 3,退出循环
5. continue
语句:跳过当前循环
continue
语句用于 跳过当前循环的剩余部分,直接进入下一次循环。
示例:跳过偶数
i = 0
while i < 5:
i += 1
if i % 2 == 0:
continue # 跳过偶数
print(i)
输出:
1
3
5
6. else
与 while
配合使用
Python 允许 while
语句后跟 else
语句,只有当循环 正常结束(没有 break
退出) 时,else
代码块才会执行。
示例 1:循环正常结束
i = 1
while i < 4:
print(i)
i += 1
else:
print("循环正常结束")
输出:
1
2
3
循环正常结束
示例 2:使用 break
,else
不执行
i = 1
while i < 4:
if i == 2:
break
print(i)
i += 1
else:
print("循环正常结束")
输出:
1
(break
终止循环,else
代码未执行。)
7. pass
语句:占位符
pass
语句 什么都不做,仅作为 语法占位符,适用于 循环体暂时不写具体代码 的情况。
i = 0
while i < 5:
i += 1
if i == 3:
pass # 未来补充代码
else:
print(i)
输出:
1
2
4
5
(i == 3
时,pass
语句不执行任何操作。)
8. while
循环嵌套
可以在 while
循环内部再嵌套一个 while
或 for
循环。
示例:输出 5×5 矩阵
i = 1
while i <= 5:
j = 1
while j <= 5:
print(f"{i*j:2}", end=" ") # 格式化输出
j += 1
print()
i += 1
输出:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
9. while
循环生成列表
示例 1:将 while
结果存入列表
i = 1
numbers = []
while i <= 5:
numbers.append(i * 2)
i += 1
print(numbers)
输出:
[2, 4, 6, 8, 10]
示例 2:列表推导式代替 while
numbers = [i * 2 for i in range(1, 6)]
print(numbers)
输出:
[2, 4, 6, 8, 10]
10. 总结
while
语句:适用于 循环次数不确定 的情况。break
语句:用于 提前终止循环。continue
语句:用于 跳过当前循环,直接进入下一次循环。else
语句:在while
正常结束时 执行。pass
语句:作为 占位符,暂时不执行任何操作。- 嵌套
while
:用于 双层循环 场景,如 表格、九九乘法表。 - 列表推导式:可用来 替代
while
构建列表。
掌握 while
循环可以提高代码的 可控性 和 灵活性,在 用户输入交互、数据处理、爬虫 等领域广泛应用! 🚀
发表回复