python中如何在多层循环中使用break/continue

关于break/continue这两个关键字在平常的使用过程中一直比较迷糊。好不容易理解了吧,过段时间不使用好像忘记了什么。这个问题也是很多初学者比较容易提及的问题。

先通过一个简单的单层循环来了解一下这两个关键字的使用。

print('=============单层循环使用=============')

for n in range(10):

    if n == 9:

        print('退出当前循环,当前n = ', n)

        break

    elif n == 4:

        print('跳过当前循环,当前n = ', n)

        continue

    print('当前n = ', n)

下面是执行以后的结果展示。

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

根据执行完成的结果可以看出,n = 4时,当前的n值没有被打印,但是它还是往下执行了n = 5以后的打印,这就是continue的作用。

而执行到break的关键字时就直接退出for循环了不会往下继续执行。

同样的方式,将单层循环这次变成双层循环看一下效果。

print('=============双层循环使用=============')

for m in range(10):

    for n in range(10):

        if n == 9:

            print('退出当前循环,当前n = ', n)

            break

        elif n == 4:

            print('跳过当前循环,当前n = ', n)

            continue

        print('当前n = ', n)

    if m == 8:

        break

下面是执行以后的结果展示。

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

# 当前n =  0
# 当前n =  1
# 当前n =  2
# 当前n =  3
# 跳过当前循环,当前n =  4
# 当前n =  5
# 当前n =  6
# 当前n =  7
# 当前n =  8
# 退出当前循环,当前n =  9

根据结果,可以观察到内部循环的执行次数是9次,在执行到m = 8 时将循环退出了正好m的值只循环到了0-8正好是9次。

而内部循环的break/continue只对内部循环生效,因此得出了结论break/continue只对它对应的当前循环生效。

那如果是三层循环或者更多的层循环呢,效果也是一样的。

print('=============三层循环使用=============')
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
for i in range(3):

    for j in range(3):

        for k in range(3):

            if k in [1, 2, 3]:

                continue

            print('当前k = ', k)

        if j in [1, 2, 3]:

            continue

        print('当前j = ', j)

    if i in [2, 3]:

        break

    print('当前i = ', i)

同样的只需要在其对应的当前循环中加入break/continue的逻辑控制即可。

# =============三层循环使用=============
# 当前k =  0
# 当前j =  0
# 当前k =  0
# 当前k =  0
# 当前i =  0
# 当前k =  0
# 当前j =  0
# 当前k =  0
# 当前k =  0
# 当前i =  1
# 当前k =  0
# 当前j =  0
# 当前k =  0
# 当前k =  0

执行完结果以后,i 值对应的循环执行了0、1,j/k值对应的循环只执行了0。所以再一次印证了break/continue只对它自己对应的当前循环生效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Python,可以使用嵌套循环来处理多层循环。如果需要在内层循环跳出外层循环,可以使用break语句。具体实现方法如下: ``` for i in range(10): for j in range(10): if i == 5 and j == 5: break # 跳出内层循环 else: continue # 内层循环未被break,继续执行外层循环 break # 跳出外层循环 ``` 在上面的代码,当i等于5且j等于5时,break语句会跳出内层循环。如果内层循环未被break,则会执行else语句,继续执行外层循环。如果内层循环break,则会跳出外层循环。 ### 回答2: Pythonbreak语句用于跳出循环语句,包括while循环和for循环。在某些情况下,我们需要在嵌套的循环语句使用break跳出多层循环,这时候就需要使用break的嵌套来实现。 假设我们有两个for循环嵌套,在内层循环需要判断某个条件,如果满足条件,就需要跳出两层循环,可以通过以下方式实现: ``` for i in range(10): for j in range(10): if condition: break if condition: break ``` 在内层循环,如果满足条件,则使用break语句跳出内层循环;在外层循环,再次判断条件,如果仍然满足条件,则使用break语句跳出外层循环。 需要注意的是,在使用break跳出多层循环时,也可以使用标签语句,表示跳出某一层循环。例如: ``` for i in range(10): for j in range(10): if condition: break else: continue break ``` 在内层循环,在break语句前加上一个标签,表示该break语句跳出的是外层循环,而不是内层循环。在外层循环使用else语句,表示如果内层循环没有执行break语句,则继续执行外层循环。最后,在外层循环再次使用break语句跳出循环。 总之,使用break语句能够很方便地跳出循环语句,当需要在嵌套的循环结构使用break时,可以使用多个break语句嵌套或者使用标签语句来实现。 ### 回答3: 在Pythonbreak语句常用来退出单层循环,即仅控制单个循环结构。但有时我们可能需要在多层嵌套的循环语句使用break语句,用于跳出多层循环。 在嵌套的循环语句,如果没有使用break语句,程序会一直循环下去,直到所有的循环都执行完毕。但如果使用break语句,程序就可以在满足一定条件的情况下,跳出多层循环并执行跳出后的语句。 我们可以通过在break语句后添加标签来实现跳出多层循环,标签即为对嵌套循环结构的一个标记。语法如下: ```python for i in range(3): for j in range(3): if i == 1 and j == 1: print("跳出多层循环") break # 只能跳出第二层循环 else: continue break # 实现跳出两层循环 ``` 上述代码使用了两个break语句,第一个break语句只能跳出当前内层循环,而第二个break语句则可以跳出整个循环结构。 需要注意的是,在使用标签后,语句之间可能存在行缩进问题,因此一定要注意代码的缩进格式,避免产生错误。 总之,使用break语句可以有效地跳出多层循环,在编写程序时要注意标签的使用方法和缩进格式的规范。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值