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 objet ComplexNumber représentant le résultat : .
  • __sub__ : Cette méthode doit soustraire un nombre complexe d'un autre et retourner un nouvel objet ComplexNumber représentant le résultat : .
  • __mul__ : Cette méthode doit multiplier deux nombres complexes et retourner un nouvel objet ComplexNumber représentant le résultat : .
  • __truediv__ : Cette méthode doit diviser un nombre complexe par un autre et retourner un nouvel objet ComplexNumber 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

To check your solution you need to sign in
Sign in to continue