Python 的 breakcontinue 用来改变循环的正常走向:break 立刻结束整个循环,continue 只跳过本轮剩下的语句、进入下一轮。它们写在 forwhile 里,常和条件判断一起用。

遍历字符串 "string",遇到字母 i 就停,后面的字符不必再看,这就是 break 的典型用法:

在字符串里找字符

for val in "string":
    if val == "i":
        break
    print(val)

print("末尾")

输出:

s
t
r
末尾

打印出 s、t、r 之后碰上 i,break 结束整个 for,循环后面的 print("末尾") 仍会执行。

break:终止整个循环

break 一旦执行,立刻跳出它所在的最内层循环,for 和 while 都适用,常见用法是找到结果后提前退出,避免无意义的继续迭代:

for i in range(1, 10):
    if i * i > 30:
        print("第一个平方大于30的数是", i)
        break   # 找到了就不再继续

输出:

第一个平方大于30的数是 6

continue:跳过这一次

continue 不会结束整个循环,只跳过本轮剩下的语句,进入下一轮迭代。过滤掉不想处理的数据时很常用:

for val in "string":
    if val == "i":
        continue
    print(val)

print("末尾")

输出:

s
t
r
n
g
末尾

字母 i 被跳过,其他字符照常打印,循环也会正常走到结束。

进入循环满足\n条件?continue循环体余下部分下一轮/结束

continue 流程:遇到符合条件的数据跳过本轮,直接进入下一轮

while 里也能用

i = 0
while i < 10:
    i = i + 1
    if i % 2 == 0:
        continue   # 偶数跳过
    if i > 7:
        break      # 大于7就停
    print(i)

输出(1、3、5、7):

1
3
5
7

break 与 continue 的区别

语句作用典型场景
break直接结束整个循环找到结果、输入退出、提前终止
continue跳过本次,继续下一轮过滤非法或不需要的数据

和 for/while 的 else 配合

循环的 else 只有在没被 break 打断时才会执行,因此找遍了都没有命中时,可以把收尾逻辑放在 else 里:

target = 8
for i in range(1, 6):
    if i == target:
        print("找到了", i)
        break
else:
    print("没找到")   # 1~5 里没有 8,会执行这里

容易混淆的两点

嵌套循环里,break 只结束最内层那一层。若要连外层一起停,通常设一个标志变量,或把查找逻辑拆进函数里用 return 早退。

while 里用 continue 时,如果把计数器更新写在 continue 后面,条件可能永远为真,变成死循环。把 i = i + 1 这类更新放在 continue 之前。