我正在尝试实现一个可以生成无限数的自然数生成器,我的代码:
def nature():
s = 0
while True:
yield s
s += 1
当我使用 next(nature()) 时,我得到一个 0 序列,这是为什么?以及如何解决?
>>> next(nature())
0
>>> next(nature())
0
>>> next(nature())
0
>>> next(nature())
0
请您参考如下方法:
每次调用 nature() 时,您都会创建一个新的生成器。 而是这样做:
n = nature()
next(n)
next(n)
next(n)
