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

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

【阅读全文】

file

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

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

file

【往期精彩】

用python为心爱的人制作520照片墙,已成功做出效果图!

两个库搞定python中引用javascript代码块/文件...

python实现excel数据与mysql数据库互通有无!

怎么用python做一个解压缩小工具,以后再也不用下载各种格式的解压缩软件了...

python 实现超快窗口截图,自动获取当前活动窗口并展示截图...

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 如何在多层循环中使用break/continue - Python技术站

(0)
上一篇 2023年4月2日 下午5:34
下一篇 2023年4月2日

相关文章

  • Python 读取PDF文件为文本字符并转换为音频

    【阅读全文】 设计思路:首先通过PyPDF2非标准库提供的接口函数将PDF文件中的文本提取出来,然后,再使用pyttsx3非标准库将文本转换为音频文件。 使用pip的方式安装两个非标准库PyPDF2、pyttsx3。 pip install PyPDF2 -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip ins…

    2023年4月2日
    00
  • tabulate结合loguru打印出美观又方便查找的日志记录!

    在开发过程中经常碰到在本地环境无法完成联调测试的情况,必须到统一的联机环境对接其他系统测试。往往是出现了BUG难以查找数据记录及时定位到错误出现的位置。 【阅读全文】 面对这种情况可能情况可能是一个简单的BUG导致的,但是定位问题往往就需要很长的时间。在python编程中推荐非标准库tabulate,它可以将程序运行过程中产生的数据记录格式化的打印出来很方便…

    Python开发 2023年4月2日
    00
  • ping命令的多种玩法,以前竟然只用它来测试网速!

    作为开发人员,ping命令无疑是使用比较多的工具,我们经常在需要判断与服务器的连接是否连桶时需要使用ping命令来测试。 【阅读全文】 一般情况下使用ping命令来判断路由地址是否连通,再配合使用telnet判断该地址得网络端口是否能够完成请求。今天才发现一个简单的ping命令的使用竟然有这么多的妙用。 关于ping命令的作用这里就不多讲了,大家肯定都是经常…

    2023年4月2日
    00
  • python做了个自动关机工具,再也不会耽误我下班啦

    上班族经常会遇到这样情况,着急下班结果将关机误点成重启,或者临近下班又通知开会,开完会已经迟了还要去给电脑关机。 【阅读全文】 今天使用PyQt5做了个自动关机的小工具,设置好关机时间然后直接提交即可,下班就可以直接走人了。 有直接需要.exe可执行应用的话,直接到文末处获取下载链接! 自动关机小工具也支持了清除已经设置好的关机时间,防止已经设置好了关机时间…

    2023年4月2日
    00
  • python 获取最新房价信息-以北京房价为例

    整个数据获取的信息是通过房源平台获取的,通过下载网页元素并进行数据提取分析完成整个过程。 【阅读全文】 导入相关的网页下载、数据解析、数据处理库 from fake_useragent import UserAgent # 身份信息生成库 from bs4 import BeautifulSoup # 网页元素解析库 import numpy as np #…

    2023年4月2日
    00
  • python多线程同步售票系统解决思路

    解决问题场景:假如剩余1000张电影票需要售卖,同时有10家电影App来售卖这1000张电影票。主要的逻辑实现过程是什么,要求使用python技术栈进行解题? 【阅读全文】 1、分析过程 分析:主要信息点是10家App平台同时售卖1000张电影票。此时,可以使用10个python线程来作为10家App平台,同时售卖必须保证电影票数量的同步,比如A平台卖出了一…

    2023年4月2日
    00
  • 如何将多张图片合成mp4视频格式,并加入背景音乐…

    【阅读全文】 实现的思路:将准备好的图片通过opencv读取出来,并将其设置好帧数等参数后合成为无声视频。最后通过moviepy编辑视频将背景音乐加入到视频中。 开始之前还是需要说明一下非标准库的来源,因为有些库的名称和需要导入模块的名称不一定就是一样的。 import os # python标准库,不需要安装,用于系统文件操作相关 import cv2 #…

    2023年4月2日
    00
  • python 一行命令开启网络间的文件共享

    这个文件共享的功能是基于python实现,所以必须具备python环境。没有python环境的直接到官网去下载就可以了,这里分享一下官网的下载地址。 【阅读全文】 https://www.python.org/getit/ 准备好了python环境就可以进入正式环节了。 创建一个文件夹专门用来存放需要共享的文件,注意这里的共享文件最好使用压缩包的方式这样其他…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部