Python 的 break 与 continue

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  与循环搭配,这是该语言的特性之一,目的是简化“循环完成后操作”的代码逻辑。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值