青蛙跳台阶(python)

一,问题
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

二,分析
n=0时,没得跳,返回0
n=1时,就一种跳法,返回1
n=2时,可以一步一步跳上去,也可以一下跳上去,返回2
n=3时,
a,一步一步跳上去
b,先1后2跳上去
c,先2后1跳上去,返回3
n=4时,
a,一步一步跳上去
b,先1后2再1跳上去
c,先1后1再2跳上去
d,先2后1再1跳上去
e,先2再2跳上去
返回5
。。。

青蛙在刚开始跳时,只有两种选择,跳一步还是跳两步,f(1)还是f(2)

要是跳一步,那剩下的n-1就有f(n-1)种跳法
要是跳两步,那剩下的n-2就有f(n-2)种跳法
在这里插入图片描述
在这里插入图片描述
f(n) = f(n-1) + f(n-2)

这不就是一个斐波那契数列嘛。

上代码
在这里插入图片描述