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

发布时间:2019-08-22 08:01:24编辑:auto阅读(1820)

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

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

    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

    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判断

关键字