1. 程式人生 > >遞迴函式練習題

遞迴函式練習題

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)