Программное обеспечение, предназначенное для создания списка четных чисел Фибоначчи, дает неожиданный результат. Код, обнаруживающий все числа, отлично работает, однако, когда он доходит до
if i % 2 != 0 fib_list.remove(i) Что-то кажется неправильным, потому что он не удаляет все нечетные числа. Ниже представлена полная программа. Что я делаю неправильно?
fib_list = [1, 2, 3]for i in range(4, 4000001): if (i - fib_list[-1] - fib_list[-2]) == 0: fib_list.append(i) print fib_list for i in fib_list: if i % 2 != 0: fib_list.remove(i) print fib_list Не могли бы вы помочь мне с этим вопросом? После прочтения этого https://www.scaler.com/topics/fibonacci-series-in-python/ я понимаю, что перебираю список, изменяя его, но мне интересно, есть ли метод для отдельной оценки каждого элемента в списке, а затем выполнения действия над ним, поэтому избегайте проблема повторения при изменении.
|