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 |
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