首页 > 编程语言 >python中如何在多层循环中使用break/continue

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

时间:2024-01-13 16:36:28浏览次数:31  
标签:python break continue 当前 print 跳过 循环

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

标签:python,break,continue,当前,print,跳过,循环
From: https://www.cnblogs.com/python1111/p/17962509

相关文章

  • python回调函数
    回调函数在各种编程函数中都是比较常见的,回调函数的出现主要是为了降低函数之间调用的耦合性,从而实现解耦。简单来说,如果一个函数可以作为被传递就称这个函数为回调函数。比如:func1(func2()),那么func2就是回调函数。此时,只需要知道func2这个函数的功能是什么,在执行func1时调用fu......
  • 十行python代码实现文件去重,去除重复文件的脚本
    1.导入依赖'''导入依赖'''frompathlibimportPathimportfilecmp2.函数说明filecmp.cmp(path1,path2,shallow=True)path1/path2:待比较的两个文件路径。shallow:默认为True,即只比较os.stat()获取的元数据(创建时间,大小等信息)是否相同,设置为False的话,在对比文件的......
  • python经典有序序列的list列表推导式
    生成一个数据列表#初始化一个列表list_1=[]#使用循环生成一个列表数据forvalinrange(0,20,1):#加入集合list_1.append(val)#打印列表数据print(list_1)#[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]使用列表推导式生......
  • Python 潮流周刊第 35 期(摘要)
    本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。周刊全文:https://pythoncat.top/posts/2024-01-13-weekly以下是本期摘要:......
  • [Python学习记]个人感受(持续更新)
    ------24/01/13------ 大家好,到目前为止我已经学习到if条件语句的使用了,准备学习循环语句,if语句学的薄浅还得多加练习实际应用!关于if的应用我自主设计了几个程序,希望大佬可以多加指点 ------23/11/13------ 大家好,我是小县城高中的一名学生 在我初中时期就已经知道主......
  • RK3568 学习笔记 : 解决 linux_sdk 编译 python 版本报错问题
    前言最近买了【正点原子】的RK3568开发板,下载了开发板的资料,包括LinuxSDK,这个LinuxSDK占用的空间比较大,扩展了一下VM虚拟机ubuntu20.04的硬盘空间,编译才正常通过。编译RK3568LinuxSDK时,遇到python版本的问题,这里做个记录【正点原子】rk3568开发板资料与Lin......
  • ubuntu 20.04 自由切换 python 的版本
    问题描述当前ubuntu20.04默认安装了多个python的版本,执行python时,默认版本是Python2.7.18zhangsz@zhangsz:~$pythonPython2.7.18(default,Jul12022,12:27:04)[GCC9.4.0]onlinux2Type"help","copyright","credits"or"license"......
  • 【Python】怎么把Python脚本打包成可执行程序?
    需求分析最近根据用户提的需求用python做了一个小工具,但是在给客户使用的时候不能直接发送python文件,毕竟让客户去安装python环境,那就离了大谱了。所以这时候就需要把多个py文件带着运行环境打包成EXE可执行文件。技术实现这里以window为例,Mac是同样的道理。一、检测脚本是否正常1......
  • Python逆向爬虫入门教程: 酷狗音乐加密参数signature逆向解析
    数据来源分析......
  • Python手相识别教程5拇指
    5拇指拇指是手相术中最重要的部分之一。印度和中国的某些早期手相学派仅凭拇指就能评估一个人的性格和成功机会。拇指是看手相的微缩画布--小小的手指中蕴含着丰富的信息。拇指可以让你一目了然地了解一个人的深刻见解。从字面上看,它就像一幅人物性格的"缩略图"。拇指的大小和......