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

关于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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python循环控制之break和continue流程控制语句

    目录 1.流程控制语 break 1.1while循环 1.2for循环 二.循环控制语 continue 1.流程控制语 break 用于结束整个循环结构,直接退出整个循环 例: 用两种循环模拟密码输入输入正确就退出循环,输入错误可以重新输入,有三次输入机会 1.1while循环 i=1 mima="5555" while i <= 3:     pwd=input("请输入你的密码:")     if pwd == mima:         print(

  • python中退出多层循环的方法

    1.定义标记变量:利用变量值的变化退出循环 # 第一种嵌套形式 a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]] # init_i = 0 # init_j = 0 flag = True for i in range(3): for j in range(3): # print(i, j) if a[i][j] == 5: flag = False init_i = i init_j = j break if not flag: break print(init_i,

  • Python基础之python循环控制语句break/continue详解

    Python中提供了两个关键字用来控制循环语句,分别是break和continue break在条件成立时,不会执行循环中的后续代码,并且会停止整个循环 continue在条件成立时,会不执行循环中的后续代码,并且会停止本次循环 接下来我们通过两个案例来区分这两个控制语句 首先使用while循环语句打印1到5之间的数字,循环到3的时候,我们使用continue关键字跳出3的这次循环,需要注意的是,continue在条件成立时,不会执行后续代码,如果在continue关键字前,没有改变循环的条件,

  • Python循环语句之break与continue的用法

    Python break 语句 Python break语句,就像在C语言中,打破了最小封闭for或while循环. break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句. break语句用在while和for循环中. 如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码. Python语言 break 语句语法: break 流程图: 实例: #!/usr/bin/python for letter in 'Pyt

  • Python跳出循环语句continue与break的区别

    虽然在Python中的for循环与其它语言不大一样,但跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环. break 复制代码 代码如下: # encoding=UTF-8   for x in range(10):     if x==5:         break       print x 上面使用的break循环,所以执行到x==5的时候就跳出了整个for循环,因此print x语句只打到4的时候就终止了,因此输出结果如图: co

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

    关于break/continue这两个关键字在平常的使用过程中一直比较迷糊.好不容易理解了吧,过段时间不使用好像忘记了什么.这个问题也是很多初学者比较容易提及的问题. 先通过一个简单的单层循环来了解一下这两个关键字的使用. print('=============单层循环使用=============') for n in range(10): if n == 9: print('退出当前循环,当前n = ', n) break elif n == 4: print('跳过当前循环,当前n =

  • 详解python基础之while循环及if判断

    wlile循环 while True表示永远为真,不管是什么条件都会向下执行,下面是写的一个例子. #!/usr/bin/env python age = 24 #给age赋一个值 while True: #进入循环 inputting = int (input("The input number is:")) #保存用户输出到变量inputting if inputting == age: #然后依次比较 print("Guessed it!!!") break

  • 详解Python 实现元胞自动机中的生命游戏(Game of life)

    简介 细胞自动机(又称元胞自动机),名字虽然很深奥,但是它的行为却是非常美妙的.所有这些怎样实现的呢?我们可以把计算机中的宇宙想象成是一堆方格子构成的封闭空间,尺寸为N的空间就有NN个格子.而每一个格子都可以看成是一个生命体,每个生命都有生和死两种状态,如果该格子生就显示蓝色,死则显示白色.每一个格子旁边都有邻居格子存在,如果我们把33的9个格子构成的正方形看成一个基本单位的话,那么这个正方形中心的格子的邻居就是它旁边的8个格子. 每个格子的生死遵循下面的原则: 1. 如果一个细胞周围有3个细胞

  • python else语句在循环中的运用详解

    在学习python循环语句的时候,发现else竟然可以和循环语句使用,但是它却与if中else语句的运行完全不同,有时候你真的感觉掉进这个else陷阱里了,完全不知道该怎么用,那么现在咱们一起去看看吧 一.循环_else示例 1.while_else的运用 # 定义外循环计数器 i = 1 # 循环1-10每个数字 while i <= 10: # 定义内循环计数器 j = 1 # 循环1-5每个数字,或者说循环5次 while j <= 5: # 判断1-10之间的数/2是否有余数 if i

  • 详解Python中for循环的定义迭代方法

    目录 Python的 for 循环 遍历字典 range()功能 break语句 和continue语句 else语句 Python的 for 循环 Python 是基于集合的迭代. for <var> in <iterable>: # <iterable>是对象的集合--例如,列表或元组. <statement(s)> # 循环体 a = ['曹操', '孫権', '劉備'] for i in a: print(i) 输出: 曹操孫権劉備 可迭代对象 ,可

  • 详解Python如何循环遍历Numpy中的Array

    目录 1. 引言 2. 使用For循环遍历 3. 函数 nditer() 4. 函数 ndenumerate() 5. 结论 1. 引言 Numpy是Python中常见的数据处理库.Numpy是 Numerical Python的缩写,它是数据科学中经常使用的库.Numpy专门用于处理矩阵运算,因为它包含各式各样的处理函数.在本文中,我们主要用于学习如何迭代遍历访问矩阵中的元素. 闲话少说,我们直接开始吧! 2. 使用For循环遍历 首先我们来看个例子,使用循环来遍历数组,样例代码如下: imp

  • 详解python中asyncio模块

    一直对asyncio这个库比较感兴趣,毕竟这是官网也非常推荐的一个实现高并发的一个模块,python也是在python 3.4中引入了协程的概念.也通过这次整理更加深刻理解这个模块的使用 asyncio 是干什么的? 异步网络操作并发协程 python3.0时代,标准库里的异步网络模块:select(非常底层) python3.0时代,第三方异步网络库:Tornado python3.4时代,asyncio:支持TCP,子进程 现在的asyncio,有了很多的模块已经在支持:aiohttp,ai

  • 详解Python中pyautogui库的最全使用方法

    在使用Python做脚本的话,有两个库可以使用,一个为PyUserInput库,另一个为pyautogui库.就本人而言,我更喜欢使用pyautogui库,该库功能多,使用便利.下面给大家介绍一下pyautogui库的使用方法.在cmd命令框中输入pip3 install pyautogui即可安装该库! 常用操作 我们在pyautogui库中常常使用的方法,如下: import pyautogui pyautogui.PAUSE = 1 # 调用在执行动作后暂停的秒数,只能在执行一些pyaut

  • 详解Python 循环嵌套

    Python 语言允许在一个循环体里面嵌入另一个循环. Python for 循环嵌套语法: for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s) Python while 循环嵌套语法: while expression: while expression: statement(s) statement(s) 你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌

  • 详解Python中while无限迭代循环方法

    目录 前言 while循环 break语句 和 continue语句 else 子句 无限循环 嵌套while循环 单行 while 循环 前言 Python 有 while 语句和 for 语句作为循环处理.虽然 for 语句具有一定数量的进程,但 while 语句是『直到满足条件』类型的循环进程. 对于无限迭代 while,循环执行的次数没有事先明确指定.相反,只要满足某些条件指定的块就会重复执行. 使用定义迭代 for,指定块将被执行的次数在循环开始时已经倍明确指定. 除了 while 语

随机推荐