Py学习  »  Python

是否有一个python函数在一个循环中,当它到达一个列表的最后一个索引之后,它将再次转到第一个索引,然后循环重新启动?

Riccardo • 4 年前 • 182 次点击  

我知道这是一个关于算法的奇怪问题,但这是一个在我脑海中思考了几天的问题。请看下面的代码,我有一个从1到31的天数列表,我想做一个循环来打印它们,当n(我使用n作为列表的索引(只是一个例子))等于最后一个索引时,它将被重置为0,循环将重新启动。

我试图通过编写这段代码来做到这一点,但我会问您是否有内置函数或其他不太长的函数,或者是否有真正致力于此的东西。

比如说一个游戏,在这个想象的游戏里有4个玩家,所以有4个回合,列表,也就是[0,1,2,3]将被连续迭代,在循环到达3之后,它将回到0。

有没有一种方法可以做到这一点(具体的方法)?

from time import sleep


days = [day for day in range(1, 32)]

while True:
    for n in range(0, 31):
        print(days[n])
        sleep(0.1)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38631
 
182 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Peyman mohseni kiasari
Reply   •   1 楼
Peyman mohseni kiasari    4 年前
from itertools import cycle

for item in cycle([0, 1, 2, 3]):
    print(item)

出:

0
1
2
3
0
1
2
3
0
1
...