Python 3:如果条件不满足则跳到下一次迭代 - 循环

Python 3: skipping to next iteration if condition is not fulfilled - loop in loop

我有一个循环,如下所示:

iGen = (i for i in range(1,10))
for i in iGen:
   for j in range(1,10):
      some operations
      if certain operation not fulfilled:
         next(iGen)

因此,例如,如果 i = 5 且条件未满足,则应取消 j 循环,并且 i 应迭代到 6。

但是,这不起作用。任何人都建议为什么这个逻辑会出错? 这是真正的代码。上面的伪代码只是为了让逻辑更清晰。

array = [];
for k in range(1, 20):
    y=2**k*(2**(k+1)-1)
    array.append(y)

iGen = (i for i in range(0, len(array)))
for i in iGen:
    x = 1
    for j in range(2, array[i]):
        if array[i] % j == 0:
            g = x
            x = x + j
            if x / g < 2:
                next(iGen)

    if x == array[i]:
        print(array[i])

您想休息一下。这将打破你的 j 循环并继续 i 循环中的下一个项目。

iGen = (i for i in range(1,10))
for i in iGen:
   for j in range(1,10):
      some operations
      if certain operation not fulfilled:
         break