Олимпиадный тренинг

Задача . Список четных целых чисел


Задача

Темы:
Разработайте класс EvenList "Список четных целых чисел". Класс содержит в качестве атрибута только список четных целых чисел.

Для класса EvenList определите конструктор, который может принимать следующие виды параметров:

  • Ни одного параметра (в этом случае список будет пустой).
  • Один параметр типа List, в этом случае из переданного списка выбираются четные числа и записываются в результирующий список (в том же порядке следования, что и в исходном списке).
  • Объект EvenList, в этом случае список будет равняться списку объекта, переданного в конструктор (порядок элеметов должен сохраняться).
Добавьте в реализацию класса:
  1. Метод addnum(), который добавляет к списку число. Если методу addnum() передается целое четное число, то оно добавляется в список, все остальные варианты входных данных игнорируются, при этом выводится сообщение "Wrong data".
  2. Метод __sub__, позволяющий выполнять операцию «A - num», которая удаляет из объекта A класса EvenList все вхождения числа num. Если такого числа в списке нет, то  список не изменяется, при этом выводится сообщение "The number is missing". В результирующем списке порядок оставшихся элементов должен быть сохранен.
  3. Метод, который выводит элементы списка, где каждый элемент разделен символом точка с запятой (;).

На проверку отправьте только сам класс.
Примеры
Входные данныеВыходные данные
1 evens = EvenList()
evens.addnum(5)
evens.addnum(4)
evens.addnum("abc")
evens.addnum(2)
print(evens)
evens = evens - 2
print(evens)
Wrong data
Wrong data
4;2
4

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python4
Комментарий учителя