2014-02-18 61 views
-2

我有一個關於製作一個斐波那契序列列表的問題,我只是新來的蟒蛇有人幫助我請。Fibonacci序列在PYTHON中使用列表?

這是我的代碼。我知道這看起來不對或者是因爲它說無效的語法。我不知道該怎麼做這真的:(

此代碼適用於正常的代碼,而無需使用列表

myArray1 = [0] 
myArray2 = [1] 

while myArray2 < 700: 
    myArray1, myArray2 = b[i], myArray1+myArray2[i] 
    print(myArray2) 
+10

在Python中,它是一個'list',而不是['array'](http://docs.python.org/2/library/array.html)。 –

+1

定義了「b」在哪裏?而'我'? – Kevin

+0

我在你的代碼中加了一個':'冒號;那是你的原創作品嗎?你還使用'b'和'i',你不會把它分配到任何地方,並用單獨的值替換你的列表。 –

回答

8

您可能需要刷新您的python ba sics,在你的代碼中有很多廢話。 話雖這麼說,這個代碼將第700張Fibonacci數列表中(你應該使用有意義的變量名!)

fibonacci_numbers = [0, 1] 
for i in range(2,700): 
    fibonacci_numbers.append(fibonacci_numbers[i-1]+fibonacci_numbers[i-2]) 

注:如果您使用的Python < 3,使用xrange代替range

+0

我真的非常感謝您的回答。好的先生,我會盡我所能瞭解更多關於這個pl的信息。 –

4

您可能希望這樣:!

In [77]: a = 0 
    ...: b = 1 
    ...: while b < 700: 
    ...:  a, b = b, a+b 
    ...:  print a, b 
1 1 
1 2 
2 3 
3 5 
5 8 
8 13 
13 21 
21 34 
34 55 
55 89 
89 144 
144 233 
233 377 
377 610 
610 987 

如果您要將結果存儲在列表中,請使用list.append

In [81]: a = 0 
    ...: b = 1 
    ...: fibo=[a, b] 
    ...: while b < 70: 
    ...:  a, b = b, a+b 
    ...:  fibo.append(b) 
    ...: print fibo 
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]