• Предмет: Информатика
  • Автор: apolinaria2901
  • Вопрос задан 1 год назад

питон, не понимаю, что нужно исправить, чтобы срабатывало везде правильно

Приложения:

Ответы

Ответ дал: AleksejVer
1

Ответ:

s = map(int, input().split())

a, b = map(int, input().split())

print(*[i for i in s if i < a or i > b])

Объяснение:

Нельзя удалять элементы списка из его же итераций. Этим вы можете вызвать проблемы, что и произошло. Просто создайте второй список на базе первого уже без тех элементов, которые не нужны.


Последнюю строку можно расписать как:

new_list = []
for i in s:

   if i < a or i > b:

       new_list.append(i)

print(*new_list)


А можно в краткой форме. Это одно и тоже.

print(*[i for i in s if i < a or i > b])


apolinaria2901: но в задании же написано про то что нужно удалить все числа из списка в диапазоне
AleksejVer: Я и удаляю в диапазоне.
Вас заинтересует