python中解决上楼梯问题

#解决此类问题 ,需要从后往前找规律,需要使用递归
#一次1和2两个台阶,这是一个斐波那契数列的应用
def fun(n):
    if n==0:
        return ‘error’
    elif n==1:
        return 1
    elif n==2:
        return 2
    else:
        return fun(n-2)+fun(n-1)
print(fun(3))

# 一次1和2和3个台阶
#到n层有三种情况,n-3,n-2,n-1
#分别的情况种类为fun1(n-3),fun1(n-2),fun1(n-1)
def fun1(n):
    if n==0:
        return 'error'
    elif n == 1:
        return 1
    elif n==2:
        return 2
    elif n==3:
        return 4
    else:
        return fun1(n-3)+fun1(n-2)+fun1(n-1)
print(fun1(3))

你可能感兴趣的:(python)