Класс 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