ComplexNumber Class

You are asked to create a class ComplexNumber that encapsulates the behavior of a complex number. A complex number is a number that can be expressed in the form a + bi, where a and b are real numbers, and i is a solution of the equation . Because no real number satisfies this equation, i is called an imaginary number ().
Your ComplexNumber class should have the following attributes:
  • real: The real part of the complex number (a)
  • imaginary: The imaginary part of the complex number (b)
You have to implement these magic methods:
  • __add__: This method should add two complex numbers and return a new ComplexNumber object that represents the result: .
  • __sub__: This method should subtract one complex number from another and return a new ComplexNumber object that represents the result: .
  • __mul__: This method should multiply two complex numbers and return a new ComplexNumber object that represents the result: .
  • __truediv__: This method should divide one complex number by another and return a new ComplexNumber object that represents the result: .
Besides the numerical magic methods, you should also implement a __str__ magic method that would return the complex number as <real> + <imaginary> i.
Input
Output
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