Python3 入门教程
while 循环
本教程共 70 篇 · 第 18 篇 · 更新于 2026-07-22 · 约 2 分钟阅读
PythonPython3 入门教程while循环breakcontinue循环else
18. while 循环
本节目标:掌握 while 循环的写法,理解 break、continue 和循环 else 的用法。
基本语法
while 在条件为真时重复执行代码块:
n = 1
while n <= 5:
print(n)
n += 1
输出:
1
2
3
4
5
Warning循环体内一定要有让条件趋向终止的代码。如果忘了
n += 1,条件永远为真,程序就会陷入死循环。在命令行里按Ctrl+C可以强制终止。
计算累加和
用 while 计算 1 到 100 的和:
n = 1
total = 0
while n <= 100:
total += n
n += 1
print(total) # 5050
break:提前退出循环
break 立刻终止整个循环:
n = 1
while n <= 100:
if n > 10:
break
print(n)
n += 1
print("循环结束")
输出 1 到 10,然后打印「循环结束」。
Tipbreak 只跳出它所在的那一层循环。嵌套循环时不会跳出外层。
continue:跳过本次循环
continue 跳过当前轮次的剩余代码,直接进入下一轮判断:
n = 0
while n < 10:
n += 1
if n % 2 == 0:
continue
print(n)
输出 1、3、5、7、9,跳过了所有偶数。
Note
continue的位置要小心。如果把它放在n += 1前面,条件永远满足,n永远不变,变成死循环。
循环的 else 子句
Python 的循环可以带 else,在循环正常结束(没有被 break)时执行:
n = 1
while n <= 3:
print(n)
n += 1
else:
print("正常完成")
输出:
1
2
3
正常完成
如果被 break 打断,else 不会执行:
n = 1
while n <= 3:
if n == 2:
break
print(n)
n += 1
else:
print("正常完成") # 不会打印
Tip这个特性常用于「查找」场景:循环找东西,找到了 break,循环结束后通过 else 判断是否没找到。
i = 0 while i < len(nums): if nums[i] == target: print(f"找到了,索引是 {i}") break i += 1 else: print("没找到")
while True 循环
故意写个永远为真的条件,在循环体内部用 break 控制退出:
while True:
user_input = input("请输入(q 退出):")
if user_input == "q":
break
print(f"你输入了:{user_input}")
这种模式在写交互式程序、网络服务接收请求时很常见。
综合练习:猜数字游戏
import random
target = random.randint(1, 100)
attempts = 0
while True:
guess = int(input("猜一个 1-100 的数字:"))
attempts += 1
if guess < target:
print("猜小了")
elif guess > target:
print("猜大了")
else:
print(f"恭喜你猜对了!用了 {attempts} 次")
break
来源:参考了 runoob「Python3 循环语句」、liaoxuefeng「循环」等,改写后所得。