Python中的斐波那契数列
n=raw_input("Enter no. of numbers in Fibonacci series: ")
n=int(n)
fib=[]
fib[0]=0
fib[1]=1
for i in range(2,n):
fib[i]=(fib[i-1])+(fib[i-2])
print fib
我遇到的错误是:IndexError: list index out of range(索引错误:列表索引超出范围)。请帮我找出这个错误的原因。
3 个回答
0
在编程中,有时候我们会遇到一些问题,想要找到解决办法。比如,有人可能在使用某个工具或库时,遇到了错误或者不明白怎么用。这时候,大家会去一个叫StackOverflow的网站上提问,那里有很多程序员会分享他们的经验和解决方案。
在这个网站上,用户可以描述他们遇到的问题,提供一些代码示例,然后其他人会根据这些信息来帮助他们。通常,大家会给出一些建议,或者直接提供代码来解决问题。
总之,StackOverflow是一个非常有用的地方,特别是对于刚开始学习编程的人来说,可以在这里找到很多有用的资源和帮助。
>>> n==raw_input("Enter no. of numbers in Fibonacci series: ")
>>> n = int(n)
>>> fib=[0,1]
>>> for ix in range(2,n):
... fib.append( fib[-1] + fib[-2] )
...
>>> fib # result for n is 20
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181]
>>>
0
你现在有一个空的列表,但没有往里面添加任何东西。所以你试图访问一些不存在的元素。
你可以用 fib.append()
来往你的列表里添加数字。
1
你正在给一个空列表索引!首先,你应该像这样创建你的列表:
fib=[]
然后使用 append
操作符把每个元素添加进去。
fib.append(0)
所以,这里是你代码的正确版本:
n=raw_input("Enter no. of numbers in Fibonacci series: ")
n=int(n)
fib=[]
fib.append(0)
fib.append(1)
for i in range(2,n):
fib.append(fib[-1]+(fib[-2]))
print fib