如何使用for循环迭代一个数字?

时间:2018-05-28 07:00:19

标签: python python-3.x for-loop

我正在尝试创建一个使用for循环的程序。 for循环中有两个数字。例如4和6.我希望for循环迭代4次六次,输出应该是这样的:

1
2
3
4
1
2

有没有办法用Python3做这样的事情?

4 个答案:

答案 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)

使用islicecycle的组合:

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