+ 2
РУССКИЕ ПИТОН ПРОГРАММИСТЫ
отзовитесь срочно нужеа помощь я хочу сделать так чтобы цикл останавился на последней семёрке в списке и удалил ее. не получается. Тобишь я хочу сделать цикл который удалял бы ненужные копии в списке https://code.sololearn.com/cei5Rlw61o1a/?ref=app
27 Antworten
+ 6
Потому что ты его печатаешь во время каждого удаления элемента
Если print унести в самый конец за пределы цикла, список напечатается только один раз
+ 3
while True создаёт бесконечный цикл
В начале из цикла выбивал break, а сейчас он не останавливается
Давайте остановим цикл, когда дойдём до конца списка:
while i<len(a):
+ 2
Мне кажется, что if надо переделать
Ты говоришь элемент != индексу
Когда, наверное, ты имел в виду это:
i != a.index(a[i])
+ 2
ты был прав но какая то ошибка возникает
+ 2
Смотри
Функция remove(x) удаляет первый элемент, который равен x
Функция pop(x) удаляет элемент с индексом х
Советую поменять функцию удаления:)
Чтобы вывести весь список
print(a)
+ 2
спасибо большое
+ 2
вроде бы получилось
+ 1
и последнюю семёрку в списке не получаеься удалить
+ 1
Поменяй строчки print и remove
Ты печатаешь элемент, который уже удалил, из-за этого вылетает ошибка
+ 1
удивительно, ты снова оказался прав, но теперь как мне вывести весь массив?
+ 1
там ошибка
+ 1
но изначальная идея кода утеряна, то есть мой код все еще не может удалять ВСЕ копии
+ 1
Убери break
+ 1
о господи вы гений
+ 1
работает но теперь ошибка какая та снова
+ 1
а как мне это реализовать? если вам не трудно помогите, я уже второй день мучаюсь над этой задачей
+ 1
это не помогло
+ 1
все равно ошибка
+ 1
Заработало! но зачем то список два раза напечатался в output
+ 1
Ура! готово. все сделано. Теперь буду анализировать свои ошибки