Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 8, 2014 19:37:41

reader2014
Зарегистрирован: 2014-06-08
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка списка с удалением элементов.

Здравствйте всем,запутался в общем то в простой ситуации. Обрабатывается список из 10 элементов M1. Смысл обработки - начиная с M1 отсчитыватся элемент в соответствии с величиной модуля К и удаляется. С этого же места отсчет продолжается и так до 5ти удалений. Модуль к по величине больше длины списка и получается вроде обработки кольцевого списка. Что меня напрягает, так это то, что результат работы кода не совпадает с результатом ручного счета и попытки закодить это по другому не удались.
Вот код:
k = 12
z = 0
pos = 0
print(m1)
while len(m1) > 5:
pos += k
x = m1
z = pos%len(m1)
del m1
print(m1,x,z)]
Вот результат:

3 2 //удален м1
8 6 //удален м1, а должен был м1
6 4
10 6
1 0
Где и чего я не понимаю. Стаж у меня 0, не обессудьте и подскажите пожалуйста, что не так.

Офлайн

#2 Июнь 8, 2014 20:10:00

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Обработка списка с удалением элементов.

reader2014
Обрабатывается список из 10 элементов M1. Смысл обработки - начиная с M1 отсчитыватся элемент в соответствии с величиной модуля К и удаляется. С этого же места отсчет продолжается и так до 5ти удалений. Модуль к по величине больше длины списка и получается вроде обработки кольцевого списка.

Из этого объяснения понятно только то, что есть список из десяти элементов.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version