Класс ComplexNumber

Вам предлагается создать класс ComplexNumber, который инкапсулирует поведение комплексного числа. Комплексное число — это число, которое можно выразить в виде a + bi, где a и b — действительные числа, а i — решение уравнения . Поскольку ни одно действительное число не удовлетворяет этому уравнению, i называется мнимой единицей ().
Ваш класс ComplexNumber должен иметь следующие атрибуты:
  • real: действительная часть комплексного числа (a)
  • imaginary: мнимая часть комплексного числа (b)
Вы должны реализовать следующие магические методы:
  • __add__: Этот метод должен складывать два комплексных числа и возвращать новый объект ComplexNumber, представляющий результат: .
  • __sub__: Этот метод должен вычитать одно комплексное число из другого и возвращать новый объект ComplexNumber, представляющий результат: .
  • __mul__: Этот метод должен умножать два комплексных числа и возвращать новый объект ComplexNumber, представляющий результат: .
  • __truediv__: Этот метод должен делить одно комплексное число на другое и возвращать новый объект ComplexNumber, представляющий результат: .
Помимо этих числовых магических методов, вам следует реализовать магический метод __str__, который будет возвращать комплексное число в виде <real> + <imaginary> i.
Ввод
Вывод
print(ComplexNumber(1, 1) + ComplexNumber(2, 2)); print(ComplexNumber(2, 3) - ComplexNumber(1, 1)); print(ComplexNumber(2, 3) * ComplexNumber(1, 1)); print(ComplexNumber(2, 2) / ComplexNumber(1, 1)); print(ComplexNumber(1, 1) - ComplexNumber(2, 3))
3 + 3 i 1 + 2 i -1 + 5 i 2.0 + 0.0 i -1 + -2 i
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue