Klasse ComplexNumber
Sie sollen eine Klasse ComplexNumber erstellen, die das Verhalten einer komplexen Zahl kapselt. Eine komplexe Zahl ist eine Zahl, die in der Form a + bi ausgedrückt werden kann, wobei a und b reelle Zahlen sind und i eine Lösung der Gleichung x^2 = -1 ist. Da keine reelle Zahl diese Gleichung erfüllt, wird i als imaginäre Einheit (√-1) bezeichnet.
Ihre Klasse ComplexNumber sollte die folgenden Attribute haben:
real: Den Realteil der komplexen Zahl (a)imaginary: Den Imaginärteil der komplexen Zahl (b)
Sie müssen diese magischen Methoden implementieren:
__add__: Diese Methode soll zwei komplexe Zahlen addieren und ein neuesComplexNumber-Objekt zurückgeben, das das Ergebnis darstellt:(a₁ + a₂) + (b₁ + b₂)i.__sub__: Diese Methode soll eine komplexe Zahl von einer anderen subtrahieren und ein neuesComplexNumber-Objekt zurückgeben, das das Ergebnis darstellt:(a₁ - a₂) + (b₁ - b₂)i.__mul__: Diese Methode soll zwei komplexe Zahlen multiplizieren und ein neuesComplexNumber-Objekt zurückgeben, das das Ergebnis darstellt:(a₁·a₂ - b₁·b₂) + (a₁·b₂ + b₁·a₂)i.__truediv__: Diese Methode soll eine komplexe Zahl durch eine andere dividieren und ein neuesComplexNumber-Objekt zurückgeben, das das Ergebnis darstellt:[(a₁·a₂ + b₁·b₂) / (a₂² + b₂²)] + [(b₁·a₂ - a₁·b₂) / (a₂² + b₂²)]i.
Neben den numerischen magischen Methoden sollten Sie auch eine magische Methode __str__ implementieren, die die komplexe Zahl als <real> + <imaginary> i zurückgibt.
Eingabe | Ausgabe |
|---|---|
| 3 + 3 i |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB