如何在异常情况下重启循环

时间:2020-05-28 12:09:16

标签: python loops

我有此代码:

for i in range(n):
    for v in range (m): 
        # code
        try:
            # more code
        except IndexError:
            os.system('python "Example.py"')

os.system('python "Example.py"')使我可以重新初始化整个代码,但是我真正想做的是回到for v in range(m):部分之前,然后再次开始该循环。 我怎样才能做到这一点?还有其他方法可以代替添加函数吗?如果没有,我该如何编码该功能?

4 个答案:

答案 0 :(得分:2)

for i in range(n):
    v=0
    while (v < m): 
        # code
        try:
            # more code
        except IndexError:
            v-=1
        v+=1

答案 1 :(得分:2)

您可以这样做:

restart = True

for i in range(n):

    while restart:

        for v in range (m): 
            # code
            try:
                # more code
                restart = False
            except IndexError:
                # more code

答案 2 :(得分:1)

您可以尝试以下操作:

for i in range(n):
    getting_errors = True
    while x:
        for v in range(m):
            try:
                #code
            except Exception:
                #code
                break
            else:
                getting_errors = False

答案 3 :(得分:0)

比Gzegzor的示例稍微整洁。

for i in range(n):
    v=0
    while (v < m): 
        # code
        try:
            # more code
        except IndexError:
            continue
        v += 1