Python怎么计算这种题啊?

有一序列1,3,5,8,13,21,...,用函数求出这个序列的前n项之和。


#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""


def fbi(n):
    if 1 <= n <= 3:
        return 2 * n - 1;
    return fbi(n - 1) + fbi(n - 2)


if __name__ == '__main__':
    res = [fbi(n) for n in range(1, 20)]
    print(res)

img

n=int(input())
b=[1,3,5]
for  i in range(3,n):
    b.append(b[-1]+b[-2])
print(sum(b))

有帮助请采纳,有问题继续交流,你的采纳是对我回答的最大的肯定和动力

img