Python:如何在使用'for'循环时获得更多控制权?

Che*_*Xie 4 python for-loop

我有以下代码,所以当发生任何异常时,重新执行此循环,而不是跳转到下一个循环.请注意这里的伪代码确实按预期工作:

for cl in range(0, 10):
    try:
        some_function(cl)
    except :
        cl -= 1
Run Code Online (Sandbox Code Playgroud)

我的主动性是,一旦出现问题,再做一次.显然,这不是一个有效的想法.所以假设for循环和range function正在使用,如何实现我描述的控件?

谢谢

kin*_*all 6

你只需在第一个循环内部继续尝试该函数,直到它工作:

for cl in range(0, 10):
    while True:
        try:
            some_function(cl)
        except Exception:
            continue    # try it again
        else:
            break       # exit inner loop, continue to next c1
Run Code Online (Sandbox Code Playgroud)