如何在python中打印字符串1000次



我是python的新手,我遇到了一个有趣的问题,上面写着:

实施发电机循环,以便如果我们分配

y = cycle()

然后重复呼叫

next(y)

返回值

food
pizza
hungry
food
pizza
hungry

在无尽的循环中。如果它不能管理一个无休止的循环,那么做1000个循环,然后停止。

不允许使用循环。我可以使用一种叫做流(无限列表(的东西。

我该怎么做?

实现生成器cycle

你知道什么是生成器吗?如果没有,请阅读生成器和yield关键字。

快速回答:

def cycle():
my_list = ["food", "pizza", "hungry"]
while True:
yield from my_list

输出:

>>> y = cycle()
>>> next(y)
'food'
>>> next(y)
'pizza'
>>> next(y)
'hungry'
>>> next(y)
'food' 

诀窍是将三个yield语句包装成一个无休止的循环。这样,它们将无限期地循环

def cycle():
while True:
yield 'food'
yield 'pizza'
yield 'hungry'

要打印前1000次迭代,请使用

y = cycle()
for i in range(1000):
print(next(y))

最新更新