while 和 for‑in 循环末尾可以搭配 else:
else 代码块,只有循环正常遍历结束,没有被
break打断的时候才会执行
如果循环执行中遇到break提前退出,else里面的代码不会运行。
一句话概括:
else 在循环完整跑完最后一次之后执行;只要中途
break,else 就跳过。
1:循环被 break,else 不执行
for i in ("a", "b", "c", "d"):
if i == "b":
break
print(i)
else:
print("完满结束")Code language: PHP (php)
输出:
a
遇到 i==”b” 执行 break,循环中途终止 → else 块不执行,不会打印“完满结束”。
2:没有触发 break,else 执行
# 集合里面包含 yogurt,触发 break,else 不跑
for food in ("pate", "cheese", "crackers", "yogurt"):
if food == "yogurt":
break
else:
print("There is no yogurt!")
# 集合没有 yogurt,循环完整跑完,else 执行
for food in ("pate", "cheese", "crackers"):
if food == "yogurt":
break
else:
print("There is no yogurt!")Code language: PHP (php)
输出:
There is no yogurt!
例子
常用于查找判断:遍历找某个目标,如果从头到尾找完都没找到(没有break),就进入else执行“未找到”逻辑。
nums = [10,20,30]
for n in nums:
if n == 99:
print("找到了99")
break
else:
print("列表里没有99")Code language: PHP (php)
输出:列表里没有99
注意:
continue不会影响 else,只有break才会阻止 else 运行。
Previous: break 终止循环
Next: continue 关键字