Проблема с выводом в списке
n=[i for i in input().split()]
need,howmany,lst=input(),0,[]
for i in n:
if i==need:
lst.append(n.index(i)+howmany)
howmany+=1
n.remove(i)
print(*lst)
Ответы (1 шт):
Автор решения: Mike
→ Ссылка
Проблема вашего кода в следующем: когда вы удаляете элемент и переходите к следующему, получается так что вы пропускаете следующий. Вот был у вас массив [1, 2, 2, 3], в котором вы удаляете 2. Вы идете по массиву, встречаете первую двойку, удаляете ее (у нее индекс 1), потом итератор сдвигается и теперь вы смотрите на элемент с индексом 2, то есть тройку в нашем случае (массив [1, 2, 3]). И в результате ваша программа вместо правильного ответа: 1, 2; выводит только 1.
