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 oggettoComplexNumberche rappresenta il risultato:.__sub__: Questo metodo dovrebbe sottrarre un numero complesso da un altro e restituire un nuovo oggettoComplexNumberche rappresenta il risultato:.__mul__: Questo metodo dovrebbe moltiplicare due numeri complessi e restituire un nuovo oggettoComplexNumberche rappresenta il risultato:.__truediv__: Questo metodo dovrebbe dividere un numero complesso per un altro e restituire un nuovo oggettoComplexNumberche 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