2014-02-18 2 views
-2

У меня проблема с введением последовательности фибоначчи в список, я просто новичок в python, кто-то мне помогает.Последовательность Фибоначчи с использованием списка в 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

Вам может понадобиться, чтобы освежить ваши питона ба sics, в вашем коде есть много бессмыслицы. Это, как говорится, этот код помещает первые 700 чисел Фибоначчи в списке (вы должны использовать осмысленные имена переменных!)

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

Я действительно благодарю вас за ваш ответ. Хорошо, сэр, я сделаю все возможное, чтобы узнать больше об этом плеере. –

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] 
Смежные вопросы