文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

详解Python如何在多层循环中使用break/continue

2024-04-02 19:55

关注

关于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('=============三层循环使用=============')

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只对它自己对应的当前循环生效。

到此这篇关于详解Python如何在多层循环中使用break/continue的文章就介绍到这了,更多相关Python多层循环使用break continue内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯