Python 创建一个数学序列

Python 创建一个数学序列,python,sequence,fibonacci,Python,Sequence,Fibonacci,我需要创建以下类型的数学序列: Pn=Pn-1+Pn-2 我们知道P0=0,P1=1 我真的很难创造一个序列,我试图创造它,这里是我写的一些东西 def fibonacci(n): number = 0 if n == 0: number = 0 return (number) if n == 1: number = 1 return (number) if n > 1: def

我需要创建以下类型的数学序列: Pn=Pn-1+Pn-2 我们知道P0=0,P1=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])