裴波那切數列能夠用生成器較好的去生成,直接上代碼:python
# 1 控制最大數字版本 def fib(max): x,y = 0,1 while y < max: yield x x,y = y,x+y print [x for x in fib(100)] # 輸出[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
# 2 控制迭代個數版本 def fib(count): x,y,n = 0,1,1 while n < count: yield x x,y = y,x+y n +=1 print [x for x in fib(10)] #[0, 1, 1, 2, 3, 5, 8, 13, 21]