Если вы запустите свой код таким образом, вы получите
IndexError: list index out of range
, потому что for j in numbers:
- это цикл над значениями в numbers
, который содержит значение 1
, которое является индексом вне диапазонакогда вы пытаетесь получить доступ к numbers[j+1]
, потому что на данный момент нет numbers[2]
. Зачем вам вообще нужен второй цикл for
? Вы получите доступ к последним и предпоследним значениям с помощью numbers[i]
и numbers[i+1]
. Не нужно зацикливаться на других значениях вашего списка.
Я удалил этот цикл, и если вы запустите свой код следующим образом:
numbers = [1,2]
times = int(input("How many numbersM (minimum is 2)"))
def fibonacci(numbers, times):
for i in range(0, times):
numbers.append( numbers[i] + numbers[i+1])
print(numbers[i])
fibonacci(numbers, times)
Вы получите что-то вроде этого, дляпример:
How many numbersM (minimum is 2)5
1
2
3
5
8