[英]infinite Fibonacci generator in python with yield error?
def fib_gen():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
print(next(fib_gen()))
print(next(fib_gen()))
print(next(fib_gen()))
print(next(fib_gen()))
Output: 0
0
0
0
我試圖在python中創建一個無限的Fibonacci生成器。 請幫忙......我哪里做錯了?
每次調用fib_gen()
都會創建一個處於初始狀態的新生成器。 嘗試將fib_gen()
的返回值fib_gen()
變量並在同一個變量上調用next()
。
首先需要創建一個生成器對象:
def fib_gen():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
generator = fib_gen()
print(next(generator))
print(next(generator))
print(next(generator))
print(next(generator))
輸出是:
0
1
1
2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.