递归函数练习题

1、写一个函数,接收一个参数,用来返回这个函数的阶乘并输出
12345

def func(num):
    if num==1:
        return 1
    ret=func(num-1)
    return num*ret
print(func(5))

2、写一个函数实现斐波那契数列
(1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377…)
要求:接收一个参数,返回一个存着等量值的列表

def func(num):
    if num==1:
        return 1
    elif num==2:
        return 2
    else:
        return func(num-1)+func(num-2)
lst=[]
b=input('请输入选择的数字:')
b1=int(b)
for a in range(1,b1+1):
    print(func(a))
    lst.append(func(a))
    a+=1
print(lst)

猜你喜欢

转载自blog.csdn.net/qq_44240254/article/details/85807228