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
我有一个循环,如下所示:
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