0

我有一个简单的问题,声明如下:

斐波那契数列中的每个新项都是通过添加前两项来生成的。从 1 和 2 开始,前 10 个项将是:1、2、3、5、8、13、21、34、55、89,... 我想创建如上的数字:

我正在尝试编写的代码如下:

num(1)=1
num(2)=2
for i in range(3,10):
    num(i)=num(i-1)+num(i-2)
    print num(i)

我设计的算法如下:

x(i)=x(i-1)+x(i-2)

我将从未知x(3)开始。谁能帮我解决数组语法错误?谢谢。x(1)x(2)

4

3 回答 3

3

你可以做:

num = range(1, 10)
num[0] = 1
num[1] = 2
for i in range(2,9):
    num[i]=num[i-1]+num[i-2]
    print num[i]

您需要使用[]而不是()

于 2013-04-15T19:06:55.893 回答
2

Python 用于[]处理索引大批列表,所以只需使用num[i]而不是num(i).

于 2013-04-15T19:06:30.373 回答
0

列表的语法是使用方括号(“[”和“]”,如“num[3]”),而不是括号。然后你必须记住,在编程列表中的索引从 0 开始,而不是 1。然后当你完成之后,你必须首先创建一个列表:num = []。

于 2013-04-15T19:07:51.800 回答