我想在这里做的是打印loop indexes
1到10,并且在索引达到值10之后,循环应该从头开始。另外,如果condition 1
为真,循环应该被打破。下面的C ++代码表示我想在python中实现的算法。
for(int i=1; i<=10; i++)
{
if(true) break; //condition 1
cout << i;
if(i == 10) i = 0;
}
答案 0 :(得分:2)
for i in itertools.cycle(range(10)):
if whatever: break
print i
答案 1 :(得分:2)
您可以使用itertools.cycle
重复循环迭代:
import itertools
for i in itertools.cycle(range(10)):
if condition:
break
else:
print(i)
或者你可以用无限循环创建一个生成器:
def numbers(num):
while 1:
yield from range(num)
然后使用它:
for i in numbers(10):
if condition:
break
else:
print(i)