斐波拉契数列
著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到:
1, 1, 2, 3, 5, 8, 13, 21, 34, ...
斐波拉契数列用列表生成式写不出来,但是,用函数把它打印出来却很容易:
def fib(max): a,b,c = 0,1,1 while a < max: print (b) b,c = c,b+c a = a + 1 fib(10)
上面代码执结果为:
1
1
2
3
5
8
13
21
34
55
要把fib函数变成generator,只需要把print(b)改为yield b就可以了:
def fib(max): a,b,c = 0,1,1 while a < max: #print (b) yield b b,c = c,b+c a = a + 1 fib(10) n = fib(10) m=next(n) l=next(n) h=next(n) i=next(n) j=next(n) print(m,l,h,i,j)
上面代码执结果为:1 1 2 3 5
作者:龙飞
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
浙公网安备 33010602011771号