美文网首页
Python break 多重循环的一种方法

Python break 多重循环的一种方法

作者: By_syk | 来源:发表于2017-05-23 16:55 被阅读380次

    首先看看在 Java 中如何跳出多重循环:

    outter:
    for (int i = 1; i <= 5; ++i) {
        for (int j = 1; j <= 5; ++j) {
            if (j > 3) { // 结束子循环
                break;
            }
            if (i * j == 6) { // 跳出父循环
                break outter;
            }
            System.out.println(String.format("(%1$d, %2$d)", i, j));
        }
    }
    

    而在 Python 中没有类似的语法可以跳出多重循环,因此需要考自己实现。

    常用之一:

    class BreakAll(Exception):
        pass
    
    try:
        for i in range(1, 6):
            for j in range(1, 6):
                if j > 3:  # 结束子循环
                    break
                if i * j == 6:  # 跳出父循环
                    raise BreakAll
                print('(%d, %d)' % (i, j))
    except BreakAll:
        pass
    

    或许在这种场景下以下代码更合适:

    for i in range(1, 6):
        break_all = False
        for j in range(1, 6):
            if j > 3:  # 结束子循环
                break;
            if i * j == 6:  # 跳出父循环
                break_all = True
                break
            print('(%d, %d)' % (i, j))
        if break_all:
            break
    

    相关文章

      网友评论

          本文标题:Python break 多重循环的一种方法

          本文链接:https://www.haomeiwen.com/subject/unhgxxtx.html