斐波那契数列 Fibonacci sequence
n:返回斐波那契数列第 n 项的值;n = 0 ,值为0


斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)
在数学上,这一数列以如下递推的方法定义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。
#方法一:通过b的大小决定程序结束 a, b = 0, 1 while b <= 12: print(b) a,b = b, a+b #方法二:通过次数限制决定程序结束 a, b = 0, 1 n = 1 while n <= 6: print(b) a,b = b, a+b n += 1
这里定义的函数只能返回指定位置的数字,通过for循环可以返回多个数字。
a=0 b=1 def F(n,a,b): if n==0: return a return F(n-1,b,a+b) for i in range(1,8): print(F(i,a,b))
斐波那契数列普通函数和生成器函数实现方式
1 #定义斐波那契数列 Fibonacci,除第一个和第二个数外,后面的任意一个数都是由前面两个数相加得到 2 def fib(max): # 返回多少个数 max 3 n, a, b = 0, 0 , 1 4 5 while n < max: 6 print(b) 7 a, b = b, a + b 8 n += 1 9 return " " 10 11 print('\n普通函数实现方式:') 12 print(fib(6)) 13 14 15 16 17 18 def fib_gen(max): # 返回多少个数 max 19 n, a, b = 0, 0 , 1 20 21 while n < max: 22 yield b 23 a, b = b, a + b 24 n += 1 25 return " " 26 27 28 print('\n生成器函数实现方式:') 29 f = fib_gen(6) 30 print(next(f)) 31 print(next(f)) 32 print(next(f)) 33 print(next(f)) 34 print(next(f)) 35 print(next(f)) 36 print(next(f))


浙公网安备 33010602011771号