这是使用生成器函数打印斐波那契数列的Python代码。 代码1:
def test_fib(n):
a = 0
b = 1
for i in range(n):
yield a
a = b
b = a+b
#end of function
for t in test_fib(10):
print(t)
代码1的输出:- 0 1 2 4 8 16 32 64 128 256 代码2:-
def test_fib(n):
a, b = 0, 1
for i in range(n):
yield a
a, b = b, a+b
#end of function
for i in test_fib(10):
print(i)
代码2的输出:- 0 1 1 2 3 5 8 13 21 34
第一个代码只是将 b 加倍,因为我们首先将 a 设置为 b。 第二个代码使用元组解包,因此分配是使用以前的值完成的,因此它实际上为我们提供了斐波那契数列。