Если вы не хотите читать этот текст, я объяснил проблему в этом видео на Youtube: https://youtu.be/Ekkkgjf0F_s
Ниже приведен код, который я использую для генерации рядов Фибоначчи с использованием Python.
списки.
list1 = [0, 1]
x=1
while x <=2:
length = len(list1)
first =list1[length-2]
second =list1[length-1]
third = first + second
list1.append(third)
x+=1
print list1
Когда цикл while выполняется для 1-й итерации, он генерирует предстоящий элемент в серии и сохраняет в списке именно то, что он должен делать.
Список теперь станет:
list1 = [0,1,1]
Но меня смущает то, что вторая итерация выполняется циклом while.
Если вы выполните пробный код, вы увидите, что код выводит 2 (согласно последовательности рядов Фибоначчи, это правильно)
но если мы выполним пробный код, 4-й элемент должен быть 3 вместо 2
2-е целое, длина = 3 >> Dry RUN ниже :
3-2=1
3-1=2
1+2=3
list1 should be: [0,1,1,3]
Но я получаю вывод как:
list1=[0,1,1,2]
Я не могу понять, как эти 2 пришли в выходной.