首页 文章

这个Fibonacci代码有什么问题?

提问于
浏览
1

我想写一个Fibonacci序列代码,它以一个数字作为输入并打印出许多Fibonacci数字 .

def fibonacci(x):
    a = []
    a[0] = 0   
    a[1] = 1

    for i in range(2, x + 1):
        a[i] = a[i - 1] + a[i - 2]
        a += a[i]        

    return a

1 回答

  • 1

    a = [] 创建一个名为a的空数组 . a[0] 无法实例化,因为它尚不存在,它会引发超出范围的错误

    x = []
    x[0] = 0 # <- error
    

    您需要将其附加到append()a+=[]

    def fibonacci(x):
        a = []
        a.append(0)   
        a.append(1)
    
        for i in range(2, x + 1):
            a.append(a[i - 1] + a[i - 2])
            #a +=[a[i - 1] + a[i - 2]]
        return a
    

相关问题