此斐波那契代码有什么问题?

时间:2018-06-27 11:35:49

标签: python-3.x

我想编写一个斐波那契数列代码,其中将一个数字作为输入并打印出那么多的斐波那契数字。

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 个答案:

答案 0 :(得分: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