Код Junior ООП и dataclasses спрашивают часто обновлено

Класс Vector с магическими методами

Условие

Реализуйте класс Vector(x, y) с операциями + (сложение векторов), * на число справа (v * 3), ==, abs() (длина, вещественное число) и __repr__ вида Vector(1, 2). Проверка run(ops) выполняет набор выражений и возвращает их результаты строками.

Примеры

run([{"kind":"add","a":[1,2],"b":[3,4]}]) // ["Vector(4, 6)"]
run([{"kind":"mul","a":[1,-2],"k":3}]) // ["Vector(3, -6)"]
run([{"kind":"eq","a":[1,2],"b":[1,2]}, {"kind":"eq","a":[1,2],"b":[2,1]}]) // ["True", "False"]

Как подойти

Подсказки: 1
  1. __add__, __mul__, __eq__, __abs__, __repr__.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме