创建数学序列

Create a mathematical sequence

我需要创建一个数学序列类型: P(n)= P(n-1) + P(n-2) 我们知道 P(0)=0 和 P(1)=1 我真的很难创建一个序列,我尝试创建它,这是我写的一些内容...

def fibonacci(n):
    number = 0
    if n == 0:
        number = 0
        return (number)
    if n == 1:
        number = 1
        return (number)
    if n > 1:
        def compute(limit):
            for x in range(2, limit):
                fibonacci(x) = fibonacci(x-1) + fibonacci(x-2)
        for i in range(0, n):
            number += compute(i)


首先:使用'return'语句时不需要使用括号
解法:

def fibonacci(n):
    number = 0
    if n == 0:
        number = 0
        return number
    if n == 1:
        number = 1
        return number
    if n > 1:
        return fibonacci(n-1)+fibonacci(n-2)

这段代码工作正常,但如果你使用动态规划,你可以更有效地计算斐波那契数
示例:

fibonacci = [0,1]
for i in range(2,n+1):
 fibonacci.append(fibonacci[i-1]+fibonacci[i-2])
print(fibonacci[-1])