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

作者:Python?集中营 时间:2023-01-21 14:50:19 

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

详解Python如何在多层循环中使用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只对它自己对应的当前循环生效。

来源:https://www.cnblogs.com/lwsbc/p/16298822.html

标签:Python,多层循环,break,continue
0
投稿

猜你喜欢

  • Python实现TCP协议下的端口映射功能的脚本程序示例

    2021-07-26 13:59:01
  • Pycharm创建Django项目示例实践

    2021-06-20 05:28:08
  • 网页对联广告代码效果大全

    2007-10-25 23:16:00
  • Python3操作MongoDB增册改查等方法详解

    2021-09-20 05:13:49
  • Pandas读取并修改excel的示例代码

    2022-08-18 23:27:34
  • NopCommerce架构分析之(八)多语言支持

    2024-05-13 09:15:53
  • Python 中 Shutil 模块详情

    2022-12-20 15:25:58
  • Python使用百度api做人脸对比的方法

    2023-08-18 12:52:24
  • 详解在Azure上部署Asp.NET Core Web App

    2023-07-20 00:55:18
  • python flask几分钟实现web服务的例子

    2023-05-21 13:04:58
  • python程序的打包分发示例详解

    2023-09-26 15:25:27
  • python jenkins 打包构建代码的示例代码

    2022-10-05 02:22:02
  • Git的简单理解及基础操作命令详解

    2023-01-17 11:03:35
  • Python Django 数据库的相关操作详解

    2024-01-26 21:02:46
  • django 前端页面如何实现显示前N条数据

    2023-06-07 10:50:33
  • python爬取微博评论的实例讲解

    2022-01-10 19:53:14
  • Task List 管理任务JavaScript源码

    2010-01-22 15:43:00
  • vue项目使用.env文件配置全局环境变量的方法

    2024-04-26 17:37:25
  • Python实现为图片添加水印的示例详解

    2023-11-14 09:49:09
  • python爬虫urllib中的异常模块处理

    2022-12-06 10:42:33
  • asp之家 网络编程 m.aspxhome.com