我正在尝试创建一个使用for循环的程序。 for循环中有两个数字。例如4和6.我希望for循环迭代4次六次,输出应该是这样的:
1
2
3
4
1
2
有没有办法用Python3做这样的事情?
答案 0 :(得分:5)
您可以使用itertools.cycle
创建一个无限循环遍历范围1..4的迭代器:
import itertools
for x in itertools.cycle(range(1, 5)):
print(x)
# output: 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 ...
然后,您可以使用itertools.islice
将此迭代器限制为6个数字:
looper = itertools.cycle(range(1, 5))
for x in itertools.islice(looper, 6):
print(x)
# output: 1 2 3 4 1 2
答案 1 :(得分:2)
这有效:
for i in range (0,6):
print( i % 4 + 1 )
答案 2 :(得分:2)
from itertools import islice, cycle
print(list(islice(cycle(range(1, 5)), 6)))
# [1, 2, 3, 4, 1, 2]
答案 3 :(得分:0)
这应该可以胜任。
iterator = 1
for i in range(6):
if (iterator > 4):
iterator = 1
print(iterator)
iterator+=1