Python利用递归函数求斐波那契数列:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)

1.定义递归函数F(n),计算斐波那契数列第n项的值。
2.在main模块中,输入一个正整数x,输出斐波那契数列前x项的值,同时计算前x项的和并输出

#1.定义递归函数F(n),计算斐波那契数列第n项的值。
#2.在main模块中,输入一个正整数x,输出斐波那契数列前x项的值,同时计算前x项的和并输出

#1.定义递归函数F(n),计算斐波那契数列第n项的值。
#2.在main模块中,输入一个正整数x,输出斐波那契数列前x项的值,同时计算前x项的和并输出

def fib(n):
    if n == 1 or n ==2:
        return 1
    else:
        return fib(n-1) + fib(n-2)

if __name__ == '__main__':
    n = int(input())
    summ = 0
    for i in range(1,n):
        num = fib(i)
        print('第{}项:{}'.format(i,num))
        summ += num
    print('斐波那契额数列前{}项和为:{}'.format(n,summ))
def F(n):
    if n==1:
        return 1
    elif n==2:
        return 1
    else:
        return F(n-1) + F(n-2)

if __name__ == "__main__":
    x = int(input("输入正整数x:"))
    i = 1
    sum = 0
    print("斐波那契数列前{}项:".format(x))
    while i <= x:
        f = F(i)
        sum += f
        print(f)
        i += 1
    print("斐波那契数列前{}项和:{}".format(x, sum))
    
def F(n):
    if n==1 or n==2:
        return 1
    else:
        return F(n-1)+F(n-2)

if __name__ == '__main__':
    x = int(input())
    lst = []
    for i in range(1,x+1):
        lst.append(F(i))
print(f'斐波那契数列前{x}项的值为:{lst}')
print(f'前{x}项的和为:{sum(lst)}')

def F(n):
    if n in [1,2]:
        return 1
    return F(n-1)+F(n-2)

if __name__ == '__main__':
    
    x = int(input('请输入一个整数:'))
    res = 0
    for i in range(1,x+1):
        print(f'F({i}) = {F(i)}')
        res += F(i)
        
    print(f'前{x}项的和 = {res}')

--运行,及输出效果:
请输入一个整数:10
F(1) = 1
F(2) = 1
F(3) = 2
F(4) = 3
F(5) = 5
F(6) = 8
F(7) = 13
F(8) = 21
F(9) = 34
F(10) = 55
前10项的和 = 143