程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
数学上的解法是:
F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+ F[n-2](n=>2) 我是小白,大神无笑话小弟,只是想记录下来自己的思路,根据我自己的理解尝试一下:
def fib(n):
F(
0)=
0
F(
1)=
1
if n>
2:
for i
in range(n):
F(i+
2)=F(i+
1)+F(i)
print(F(i+
2))
# 输出了第10个斐波那契数列
fib(
10) 运行提示错误:SyntaxError: can't assign to function call
接着我参考了大神们的解法,发现函数可以在内部调用其它的函数;调用自身的函数称为递归函数:
def fib(n):
if n ==
1 or n ==
2:
return 1
return fib(n -
1) + fib(n -
2)
# 输出了第10个斐波那契数列
print(fib(
10))
结果输出:55
正确。