Classe ComplexNumber
Vous êtes chargé de créer une classe
ComplexNumber
qui encapsule le comportement d'un nombre complexe. Un nombre complexe est un nombre qui peut s'exprimer sous la forme a + bi
, où a
et b
sont des nombres réels, et i
est une solution de l'équation . Comme aucun nombre réel ne satisfait cette équation, i
est appelé un nombre imaginaire ().Votre classe
ComplexNumber
doit avoir les attributs suivants :real
: la partie réelle du nombre complexe (a
)
imaginary
: la partie imaginaire du nombre complexe (b
)
Vous devez implémenter les méthodes magiques suivantes :
__add__
: Cette méthode doit additionner deux nombres complexes et retourner un nouvel objetComplexNumber
représentant le résultat : .
__sub__
: Cette méthode doit soustraire un nombre complexe d'un autre et retourner un nouvel objetComplexNumber
représentant le résultat : .
__mul__
: Cette méthode doit multiplier deux nombres complexes et retourner un nouvel objetComplexNumber
représentant le résultat : .
__truediv__
: Cette méthode doit diviser un nombre complexe par un autre et retourner un nouvel objetComplexNumber
représentant le résultat : .
En plus des méthodes magiques numériques, vous devez également implémenter une méthode magique
__str__
qui renverra le nombre complexe sous la forme <real> + <imaginary> i
.Entrée | Sortie |
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