当前位置:首页>python>第 26 课 Python break和continue

第 26 课 Python break和continue

  • 2026-09-09 12:25:39
第 26 课 Python break和continue

💬 学习前小提示:欢迎学习本节课!如果你在运行代码时遇到报错、看不懂的地方,欢迎在评论区留言提问,一起交流学习。

一、课程简介

在 while、for 循环执行过程中,默认会完整走完每一轮循环。Python 提供两个循环控制关键字:break 和 continue,用来人为改变循环执行流程,实现提前结束循环、跳过某一轮循环的效果。

break:终止整个循环

continue:只跳过本次循环,直接进入下一轮循环

注意:break、continue 只能写在循环内部(while / for),写在循环外面直接报错。

二、break 语句详解

2.1 概念

break:立即结束当前所在的循环,跳出循环体,执行循环后面的代码。

类比:跑步,听到停止哨音,直接结束跑步,不再继续跑圈。

语法:

break

一般搭配 if 判断:满足某个条件时,触发 break,结束循环。

2.2 代码案例1:for循环使用break

遍历数字,找到数字5,直接终止循环。

for i in range(1,10):    if i == 5:        print("已经找到5,结束循环")        break    print(f"当前数字:{i}")print("循环结束,执行循环外部代码")

输出:

当前数字:1当前数字:2当前数字:3当前数字:4已经找到5,结束循环循环结束,执行循环外部代码

2.3 代码案例2:while无限循环搭配break

while True 会生成无限死循环,依靠 break 退出循环,常用于密码校验、交互输入场景。

while True:    pwd = input("请输入密码:")    if pwd == "123456":        print("密码正确!")        break   # 密码正确,跳出死循环    else:        print("密码错误,请重新输入")print("程序执行完毕")

2.4 特殊知识点:嵌套循环中break的行为

⚠️ 重点:break只会终止自己所在的那一层循环,不会退出外层循环。

# 嵌套循环,内层breakfor a in range(1,4):    print(f"-----外层循环 a = {a} -----")    for b in range(1,4):        if b == 2:            print("内层触发break")            break        print(f"内层 b = {b}")
输出:
-----外层循环 a = 1 -----内层 b = 1内层触发break-----外层循环 a = 2 -----内层 b = 1内层触发break-----外层循环 a = 3 -----内层 b = 1内层触发break
现象:内层break结束内层循环,外层循环继续正常运行。Python没有直接“一键跳出全部嵌套循环”的语法;想要退出全部循环,一般用标记变量(flag标志位)实现。

三、continue 语句详解

3.1 概念

continue:结束本次循环后面剩余代码,直接跳到循环条件判断,开启下一轮循环。

类比跑步:这一圈我不跑完全程,直接跳过,开始跑下一圈,整体跑步不会停止。

continue不会终止整个循环,仅仅跳过这一轮剩下代码。

语法:

continue

3.2 案例1 for循环 continue:打印1‑10奇数,跳过偶数

for i in range(1,11):    if i % 2 == 0:        continue   # 如果是偶数,跳过后面print,直接下一轮    print(i)
输出:1 3 5 7 9

3.3 ⚠️超级大坑:while循环使用continue容易造成死循环

致命易错点:continue会跳过它后面所有代码。如果循环变量自增写在continue后面,自增代码永远不会执行 → 死循环!

❌错误写法(死循环,不要运行)

i = 0while i < 5:    if i == 2:        continue   # continue跳过后面 i +=1,i永远等于2    print(i)    i += 1
✅正确写法:把变量更新放到 continue 前面
i = 0while i < 5:    if i == 2:        i += 1   # 先更新变量,再continue        continue    print(i)    i +=1
for循环不用担心这个坑,因为for会自动管理迭代变量,不需要手动写i+=1。

3.4 嵌套循环中 continue

continue 同样只作用于自己所在内层循环,外层循环不受影响。

四、break 与 continue 对比总结表

关键字

作用

对整个循环影响

典型场景

break

直接跳出整个循环

循环彻底结束

找到目标值退出、密码验证退出死循环

continue

跳过本次循环剩余代码

循环继续运行

过滤数据,跳过不需要处理的数据

记忆口诀:

break:刹车,全部停下

continue:跳过,下一轮再来

五、和循环else的联动(重要特殊知识点)

Python循环可以带else子句:

循环正常走完(没有被break打断)才会执行else;

如果循环被break强制终止,则不会执行else里面代码;

continue不会影响else,continue只是跳过单次迭代,循环属于正常走完。

案例演示:

# case1:被break打断,else不执行for i in range(5):    if i ==3:        break    print(i)else:    print("循环正常结束执行else")print("-"*20)# case2:continue,循环完整跑完,else执行for i in range(5):    if i ==3:        continue    print(i)else:    print("循环正常结束执行else")
六、补充:pass语句(区分,不要混淆)

pass是空占位语句,什么都不干,仅仅为了补齐语法;

和break、continue不一样,不会改变循环流程。

if 1>2:    pass   #暂时没有逻辑,先占位,避免语法报错
七、常见易错点汇总

1. break/continue 只能放在 while、for循环内部,外面直接写会语法报错。

2. 嵌套循环:break、continue 只作用于当前最近一层循环,不能直接跳出多层循环。

3. while循环使用continue,务必保证循环变量更新代码不会被continue跳过,防止死循环。

4. break会抑制循环else;continue不会抑制else。

5. continue之后的同一层级代码永远不会执行,不要把重要业务逻辑写在continue后面。

八、课后练习题(共3道)

题目1(基础)

编写程序,输出1~20,当数字等于12的时候使用`break`结束循环。写出完整代码。

题目2(中等)

使用continue,输出1‑20之间所有3的倍数以外的数字(跳过3、6、9……)。

题目3(进阶)

模拟账号登录:给用户最多3次输入密码机会;密码是python123。

- 密码正确:打印登录成功,break结束循环

- 密码错误:提示剩余几次机会

- 3次全部输错,退出循环,提示“次数耗尽,禁止登录”

💬 学完本课后,欢迎在评论区反馈:代码运行遇到的报错、你自己写的练习代码、有什么不理解的地方,我们一起探讨!

最新文章

随机文章