Нужно удалить первый элемент списка кратные 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= ' ')
Ошибка заключается в том, что после удаления элемента, удовлетворяющего условию, выход из цикла не происходит.
Вот исправленный код:
a = list(map(int, input().split())) n = len(a) i = 0 i1 = 0 while i < n: if a[i] % 2 == 0 and a[i] % 3 != 0: for j in range(i, n - 1): a[j] = a[j + 1] n -= 1 else: i += 1 a = a[:n] for x in a: print(x, end=' ')
Ошибка заключается в том, что после удаления элемента, удовлетворяющего условию, выход из цикла не происходит.
Вот исправленный код:
a = list(map(int, input().split()))
n = len(a)
i = 0
i1 = 0
while i < n:
if a[i] % 2 == 0 and a[i] % 3 != 0:
for j in range(i, n - 1):
a[j] = a[j + 1]
n -= 1
else:
i += 1
a = a[:n]
for x in a:
print(x, end=' ')