Continue
continue:跳过执行本次循环体中剩余得代码,转而执行下一次的循环。
break
跳出当前循环体系(while循环, for 循环)
若嵌套的循环结构
break语句只会终止所在循环体的执行,而不会作用于所有的循环体
eg:
第一个break是跳出for 循环
第二个break是跳出while循环
在 Python 中, break 语句的作用是跳出其 所在的最近一层循环结构。修正后的代码里,第二个 break 写在 while True 循环的代码块内部,它的作用域属于这个 while 循环。因此,执行该 break 时,会直接跳出外层的 while 循环,终止“持续要求用户输入”的循环逻辑,使程序结束运行。
补充
在 Python 里, else 并非只能和 if 搭配,它还能和 for 或 while 循环 结合,形成 for-else 或 while-else 结构。下面为你详细介绍其与 if-else 的区别:
1. if-else :条件判断结构
作用:依据条件是否成立,来决定执行哪一个分支的代码。
语法:
python
if 条件:
代码块1(条件为真时执行)
else:
代码块2(条件为假时执行)
示例:
python
x = 5
if x > 0:
print("正数") # 条件为真,执行此代码块
else:
print("非正数") # 不会执行
2. for-else :循环补充分支
作用:当 for 循环正常结束(没有被 break 中断) 时,执行 else 代码块;若循环被 break 中断,则跳过 else 。
语法:
python
for 变量 in 可迭代对象:
代码块1(循环体)
if 条件:
break # 中断循环
else:
代码块2(循环正常结束时执行)
示例:
python
# 查找列表中的偶数
nums = [1, 3, 5]
for num in nums:
if num % 2 == 0:
print("找到偶数", num)
break
else:
print("未找到偶数") # 循环正常结束,执行此代码块
3. 关键区别
表格
结构 触发条件 是否可省略 else
if-else 条件的真假 否( else 可选)
for-else for 循环是否被 break 中断(隐含条件) 是( else 可选)
回到你的问题:为什么是 for-else 而不是 if-else ?
在你之前的代码中,需求是 “若输入无数字(即 for 循环未被 break ),则执行后续操作”。此时,用 for-else 比嵌套 if 更简洁:
python
for i in s:
if i 是数字:
break
else: # 等价于 “if 循环未被 break”
print(len(s))
break
如果换成 if-else ,代码会变成:
python
has_digit = False
for i in s:
if i 是数字:
has_digit = True
break
if not has_digit: # 用变量标记状态
print(len(s))
break
虽然两种方式都能实现需求,但 for-else 直接通过语法体现了逻辑,避免了使用额外的变量(如 has_digit ),让代码更加清晰。
总结
- if-else 用于 条件判断,根据条件选择执行不同的分支。
- for-else 用于 循环补充分支,在循环未被中断时执行特定的代码。
- Python 允许 else 与循环搭配,这是该语言的特性之一,目的是简化“循环完成后操作”的代码逻辑。