Форум сайта python.su
0
Здравствйте всем,запутался в общем то в простой ситуации. Обрабатывается список из 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, не обессудьте и подскажите пожалуйста, что не так.
Офлайн
857
reader2014
Обрабатывается список из 10 элементов M1. Смысл обработки - начиная с M1 отсчитыватся элемент в соответствии с величиной модуля К и удаляется. С этого же места отсчет продолжается и так до 5ти удалений. Модуль к по величине больше длины списка и получается вроде обработки кольцевого списка.
Офлайн