The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Изменение ряда Фибоначчи в списке"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Python)
Изначальное сообщение [ Отслеживать ]

"Изменение ряда Фибоначчи в списке"  +/
Сообщение от nicholas21 (ok), 16-Фев-23, 13:41 
Программное обеспечение, предназначенное для создания списка четных чисел Фибоначчи, дает неожиданный результат. Код, обнаруживающий все числа, отлично работает, однако, когда он доходит до
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/ я понимаю, что перебираю список, изменяя его, но мне интересно, есть ли метод для отдельной оценки каждого элемента в списке, а затем выполнения действия над ним, поэтому избегайте проблема повторения при изменении.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Изменение ряда Фибоначчи в списке"  –1 +/
Сообщение от муу (?), 16-Фев-23, 13:54 
школу не прогуливай

НЕЛЬЗЯ удалять элементы из списка во время итерации по оному списку
почему этого джелать нельзя и что делает исправленный гнокод ниже - оставляем в качестве домашнего задания


for i in fib_list[:]:
    if i % 2 != 0:
        fib_list.remove(i)

Ответить | Правка | Наверх | Cообщить модератору

2. "Изменение ряда Фибоначчи в списке"  +/
Сообщение от Аноним (2), 17-Фев-23, 09:03 
- можно, если вместо индексов используется итератор, а коллекция поддерживает мутирование в процессе итерирования
- можно, если корректировать индекс в процессе удаления

мимокрокодил

Ответить | Правка | Наверх | Cообщить модератору

6. "Изменение ряда Фибоначчи в списке"  +/
Сообщение от rEdan (?), 01-Мрт-23, 23:41 

Каждое третье число в ряду Фибоначи -- четное
```
fibonachi[2::3]
```
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2023 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру