Classe ComplexNumber
Ti viene chiesto di creare una classe ComplexNumber
che incapsula il comportamento di un numero complesso. Un numero complesso è un numero che può essere espresso nella forma a + bi
, dove a
e b
sono numeri reali, e i
è una soluzione dell'equazione . Poiché nessun numero reale soddisfa questa equazione,
i
è chiamato numero immaginario ().
La tua classe ComplexNumber
dovrebbe avere i seguenti attributi:
real
: la parte reale del numero complesso (a
)imaginary
: la parte immaginaria del numero complesso (b
)
Devi implementare questi metodi magici:
__add__
: Questo metodo dovrebbe sommare due numeri complessi e restituire un nuovo oggettoComplexNumber
che rappresenta il risultato:.
__sub__
: Questo metodo dovrebbe sottrarre un numero complesso da un altro e restituire un nuovo oggettoComplexNumber
che rappresenta il risultato:.
__mul__
: Questo metodo dovrebbe moltiplicare due numeri complessi e restituire un nuovo oggettoComplexNumber
che rappresenta il risultato:.
__truediv__
: Questo metodo dovrebbe dividere un numero complesso per un altro e restituire un nuovo oggettoComplexNumber
che rappresenta il risultato:.
Oltre ai metodi magici numerici, dovresti anche implementare un metodo magico __str__
che restituisca il numero complesso come <real> + <imaginary> i
.
Input | Uscita |
---|---|
| 3 + 3 i |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB