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

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。python中如何在多层循环中使用break/continue,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/200650.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!