Предмет: Информатика, автор: CucumberR

Нужно удалить первый элемент списка кратные 2 и не кратный 3. я ввожу 1 2 18 5. У меня удаляет 1. В чём ошибка?
a=list(map(int, input().split()))
n=len(a)
i=0
i1=0
while i<=n-1:
if a[i]%2==0 and a[i]%3!=0:
i+=1
break
else:
n-=1
for j in range(i, n):
a[j]=a[j+1]
a.pop()
for x in a:
print(x, end= ' ')


srzontmp: А зачем переписываются элементы списка? Нашли номер элемента списка и удалили его, и всё. a=list(map(int, input().split()))
for i in range(len(a)):
if a[i]%2==0 and a[i]%3!=0:
k=i; break
del a[k]
for x in a: print(x, end= ' ')
CucumberR: Дополнительные списки, стандартные функции и срезы не использовать.

Ответы

Автор ответа: elenneret
2
Ну так в первом цикле удаляй
For i in a:
If i %%2 ==0 or i % 3!=0:
a.remove(i)
А потом выводишь for i in a:
print(a)
Похожие вопросы