Clase ComplexNumber
Se te pide crear una clase ComplexNumber
que encapsule el comportamiento de un número complejo. Un número complejo es un número que puede expresarse en la forma a + bi
, donde a
y b
son números reales, e i
es una solución de la ecuación . Como ningún número real satisface esta ecuación,
i
se denomina número imaginario ().
Tu clase ComplexNumber
debe tener los siguientes atributos:
real
: La parte real del número complejo (a
)imaginary
: La parte imaginaria del número complejo (b
)
Debes implementar estos métodos mágicos:
__add__
: Este método debe sumar dos números complejos y devolver un nuevo objetoComplexNumber
que representa el resultado:.
__sub__
: Este método debe restar un número complejo de otro y devolver un nuevo objetoComplexNumber
que representa el resultado:.
__mul__
: Este método debe multiplicar dos números complejos y devolver un nuevo objetoComplexNumber
que representa el resultado:.
__truediv__
: Este método debe dividir un número complejo por otro y devolver un nuevo objetoComplexNumber
que representa el resultado:.
Además de los métodos mágicos numéricos, también debes implementar un método __str__
que devuelva el número complejo como <real> + <imaginary> i
.
Entrada | Salida |
---|---|
| 3 + 3 i |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB