繁体   English   中英

如何使列表中的项目永远运行 - python

[英]How to make the items in a list run forever - python

my_favourite_fruits = ["apple","orange","pear"]
i = 0
while(True):
  print(my_favourite_fruits[i])
  i = i+1

此代码当前打印 3 个列表项,然后由于没有要打印的列表项而崩溃。 如何使用 while 循环一遍又一遍地打印这些内容?

无需手动计算任何东西。 有一个数字挂出来并不一定意味着什么,所以无论大小如何处理传入的数据并使用嵌套循环进行迭代。

my_favourite_fruits = ["apple", "orange", "pear"]

while True:
    for fruit in my_favourite_fruits:
        print(fruit)

Python 标准库中的itertools.cycle仅针对以下情况:

from itertools import cycle    

my_favourite_fruits = ["apple", "orange", "pear"]
endless_fruits = cycle(my_favourite_fruits)
while(True):
    print(next(endless_fruits))

您可以尝试模块%

如果列表的长度为5 ,那么当i达到5时, i将重置为5%5 = 0

my_favourite_fruits = ["apple","orange","pear"]
i = 0
while(True):
    print(my_favourite_fruits[i])
    i = i+1
    i = i%len(my_favourite_fruits)

使用模运算符 % 来限制 i 的大小:

my_favourite_fruits = ["apple","orange","pear"]
i = 0
while(True):
  print(my_favourite_fruits[i])
  i = (i + 1) % len(my_favourite_fruits)

或者如果您不需要它,则完全跳过计数:

my_favourite_fruits = "\n".join(["apple","orange","pear"])
while(True):
    print(my_favourite_fruits)

设置条件重新开始。

my_favourite_fruits = ["apple","orange","pear"]
i = 0
while(True):
  print(my_favourite_fruits[i])
  i = i+1
  if i == 3:
    i = 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM