python实现斐波那契数列的三种方法
1 """ 2 斐波那契数列 3 0,1,1,2,3,5,8,13,21,... 4 """ 5 # 方法一:while循环 6 def fibonaccise(number): 7 """ 8 求数字number以内的斐波那契数列 9 """ 10 a = 0 11 b = 1 12 list_number = [a] 13 while b < number: 14 list_number.append(b) 15 a,b = b,a+b 16 return list_number 17 18 print(fibonaccise(1000)) 19 20 # 方法二:递归函数 21 def fibo(n): 22 """ 23 n为斐波那契数列的第n个数字 24 """ 25 if n == 0 or n == 1: 26 return n 27 return fibo(n-1) + fibo(n-2) 28 print(fibo(8)) 29 30 31 # 方法三:利用生成器函数 32 def fibo1(): 33 """ 34 利用yield建立生成器函数,生成 35 """ 36 a,b = 0,1 37 while True: 38 yield a 39 a,b = b,a + b 40 41 iter = fibo1() 42 print(next(iter)) 43 print(next(iter))