Klasse RationalNumber
Deine Aufgabe ist es, eine RationalNumber
-Klasse in Python zu definieren. Diese Klasse soll dazu dienen, eine rationale Zahl darzustellen, also eine Zahl, die als Quotient zweier ganzer Zahlen (Zähler und Nenner) ausgedrückt werden kann.
Die RationalNumber
-Klasse soll die folgenden Eigenschaften besitzen:
Die Klasse soll zwei private Ganzzahl-Attribute haben: den
numerator
(Zähler) und dendenominator
(Nenner) der rationalen Zahl.Die Klasse soll die magischen Methoden
__add__
,__sub__
,__mul__
und__truediv__
definieren, um zwei rationale Zahlen zu addieren, zu subtrahieren, zu multiplizieren und zu dividieren.Die Operationen Addition, Subtraktion, Multiplikation und Division sollen mathematisch korrekt für rationale Zahlen durchgeführt werden, wobei das Ergebnis wieder eine Instanz von
RationalNumber
ist.Die Klasse soll die rationale Zahl auf ihre einfachste Form kürzen, indem der Zähler und der Nenner durch ihren größten gemeinsamen Teiler (GGT) geteilt werden.
Die Klasse soll die magische Methode
__str__
implementieren, die einen String der Form<numerator> / <denominator>
in der einfachsten Form zurückgibt.
Eingabe | Ausgabe |
---|---|
| 5 / 6 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB