跳出循环:break
和 continue
在 Python 的循环中,break
和 continue
是两种用于控制循环执行流程的重要语句:
break
:用于完全跳出循环,停止循环的执行。continue
:用于跳过本次循环,直接进入下一次循环。
1. break
:跳出循环
当程序运行到 break
时,会立刻终止当前的循环,无论循环条件是否仍然满足。
语法
for 条件或 while 条件:
if 某个条件成立:
break
示例:找到第一个大于 5 的数
numbers = [1, 3, 5, 7, 9]
for num in numbers:
if num > 5:
print(f"找到大于 5 的数:{num}")
break
输出:
找到大于 5 的数:7
分析:
- 当
num
等于7
时,if
条件成立,break
终止循环,后续数字(如9
)不会再处理。
break
和 while
循环结合
示例:模拟密码验证
correct_password = "python123"
while True:
password = input("请输入密码:")
if password == correct_password:
print("密码正确,欢迎登录!")
break
else:
print("密码错误,请重新输入。")
输出示例:
请输入密码:wrong123
密码错误,请重新输入。
请输入密码:python123
密码正确,欢迎登录!
分析:
- 使用
while True
创建无限循环,直到用户输入正确密码时,通过break
跳出循环。
2. continue
:跳过本次循环
continue
语句会跳过当前循环剩下的代码,直接进入下一次循环。
语法
for 条件或 while 条件:
if 某个条件成立:
continue
示例:只打印奇数
for i in range(1, 6): # 遍历 1 到 5
if i % 2 == 0: # 如果是偶数
continue # 跳过本次循环
print(i)
输出:
1
3
5
分析:
- 当
i
为偶数(2
和4
)时,continue
会跳过print(i)
,直接进入下一次循环。
continue
和 while
循环结合
示例:跳过特定的用户输入
while True:
word = input("请输入一个单词(输入 'skip' 跳过,输入 'quit' 退出):")
if word == "quit":
print("退出程序!")
break
elif word == "skip":
print("跳过本次输入。")
continue
print(f"你输入的是:{word}")
输出示例:
请输入一个单词(输入 'skip' 跳过,输入 'quit' 退出):hello
你输入的是:hello
请输入一个单词(输入 'skip' 跳过,输入 'quit' 退出):skip
跳过本次输入。
请输入一个单词(输入 'skip' 跳过,输入 'quit' 退出):quit
退出程序!
break
和 continue
的区别
功能 | break |
continue |
---|---|---|
影响 | 终止整个循环,循环结束 | 跳过本次循环,直接进入下一次循环 |
位置 | 通常用在需要提前结束循环的场景 | 用在需要跳过某些条件下的处理的场景 |
后续代码 | 循环体中 break 后的代码不会执行 |
本次循环中 continue 后的代码不会执行 |
3. 综合实例
示例 1:筛选数字
numbers = [1, 4, 7, 10, 15]
for num in numbers:
if num % 2 == 0: # 偶数
continue
if num > 10: # 大于 10
break
print(num)
输出:
1
7
分析:
4
是偶数,continue
跳过了它。15
大于10
,break
终止了循环。
示例 2:简单的菜单程序
while True:
print("=== 菜单 ===")
print("1. 查看商品")
print("2. 购买商品")
print("3. 退出")
choice = input("请选择操作(输入数字):")
if choice == "1":
print("商品列表:苹果、香蕉、橙子")
elif choice == "2":
print("你选择了购买商品!")
elif choice == "3":
print("退出程序!")
break
else:
print("输入无效,请重新选择!")
continue
输出示例:
=== 菜单 ===
1. 查看商品
2. 购买商品
3. 退出
请选择操作(输入数字):4
输入无效,请重新选择!
注意事项
使用场景:
break
:用来提前退出循环,比如在找到目标结果时。continue
:用来跳过特定条件的处理,比如过滤掉不符合要求的元素。
减少复杂性:
- 避免频繁使用
break
和continue
,可能会增加逻辑理解难度。 - 如果逻辑过于复杂,可以考虑重构代码,比如分成多个函数。
- 避免频繁使用
与循环的配合:
break
和continue
可以和for
、while
一起使用,但不能脱离循环单独存在。
总结
break
:用于完全跳出循环,适合在明确的条件下结束操作。continue
:用于跳过当前循环的剩余代码,进入下一次循环,适合在某些条件下跳过处理。- 这两种语句让循环更加灵活,是控制程序逻辑的利器。