#递归计算第n项def febonaqi(n): if(n<=1): return n else: return febonaqi(n-1)+febonaqi(n-2)
二.迭代 1.迭代返回列表
def febonaqi(n): febo = [] for i in range(n): if i <= 1: febo.append(i) else: febo.append(febo[i-1] + febo[i-2]) return febo
def febonaqi(n): febo = [0,1] for i in range(n-2): febo.append(febo[-1]+febo[-2]) return febo
2.迭代打表
febo = [i for i in range(1000)]for i in range(1000): if i <=1: febo[i] = i else: febo[i] = febo[i-1]+febo[i-2]
三.直接计算 1.直接计算第n项
def febonaqi(n): x,y = 0,1 while (n-1): x,y,n = y,x+y,n-1 return x
2.直接输出所有项
def febonaqi(n): x,y, = 0,1, while(n): print(x,end=' ') x,y,n = y,x+y,n-1