经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
详解Python如何在多层循环中使用break/continue
来源:jb51  时间:2022/5/23 10:37:05  对本文有异议

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

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

  1. print('=============单层循环使用=============')
  2.  
  3. for n in range(10):
  4.  
  5. if n == 9:
  6.  
  7. print('退出当前循环,当前n = ', n)
  8.  
  9. break
  10.  
  11. elif n == 4:
  12.  
  13. print('跳过当前循环,当前n = ', n)
  14.  
  15. continue
  16.  
  17. 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循环了不会往下继续执行。

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

  1. print('=============双层循环使用=============')
  2.  
  3. for m in range(10):
  4.  
  5. for n in range(10):
  6.  
  7. if n == 9:
  8.  
  9. print('退出当前循环,当前n = ', n)
  10.  
  11. break
  12.  
  13. elif n == 4:
  14.  
  15. print('跳过当前循环,当前n = ', n)
  16.  
  17. continue
  18.  
  19. print('当前n = ', n)
  20.  
  21. if m == 8:
  22.  
  23. 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只对它对应的当前循环生效。

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

  1. print('=============三层循环使用=============')
  2.  
  3. for i in range(3):
  4.  
  5. for j in range(3):
  6.  
  7. for k in range(3):
  8.  
  9. if k in [1, 2, 3]:
  10.  
  11. continue
  12.  
  13. print('当前k = ', k)
  14.  
  15. if j in [1, 2, 3]:
  16.  
  17. continue
  18.  
  19. print('当前j = ', j)
  20.  
  21. if i in [2, 3]:
  22.  
  23. break
  24.  
  25. 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内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号