P-1.5 Python跳出多层循环的方

2020-01-10 17:15:14 浏览数 (1)

经网上学习,Python跳出多层循环的方法大致有一下三种

1、(比较难理解的)for … else … 用法

代码语言:javascript复制
for i in range(5):
    for j in range(5):
        for k in range(5):
            if i == j == k == 3:
                break 
#注意,这里的break使得3行后的continue不得执行,使得程序无法直接跳转到第二个for,使得程序执行第二个break#
            else:
                'Do sth.'
        else: continue
#注意,这里的continue是给第二层循环用的,原因见下文#
        break
    else: continue
    break

“else在 while和for 正常循环完成之后执行,和直接写在 while和for 之后没有区别,但是如果用break结束循环之后else就不会执行了。” 再利用continue使得break不被执行而直接跳到第一行,真是太具技巧性了!

2、封装为函数并使用return

def test(): for i in range(5): for j in range(5): for k in range(5): if i == j == k == 3: return else: 'Do sth.' test()

顺便这里展示了def指令是如何使用的

3、使用flag

代码语言:javascript复制
for x in range(0,3,1): 
    if flag == 1:
        break
    for y in range(0,3,1):
        'Do sth.'
        if 1==1
            flag=1

这个方法涉及外层多次无用的if判断

0 人点赞