Skip to main content
 首页 » 编程设计

python之无限序列号生成器在 python 中不起作用

2025年05月04日11kenshinobiy

我正在尝试实现一个可以生成无限数的自然数生成器,我的代码:

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)