Classe RationalNumber
Il tuo compito è definire una classe
RationalNumber
in Python. Questa classe dovrebbe essere utilizzata per rappresentare un numero razionale, cioè un numero che può essere espresso come il quoziente di due interi (numeratore e denominatore).La classe
RationalNumber
dovrebbe avere le seguenti caratteristiche:- La classe dovrebbe avere due attributi interi privati, il
numerator
e ildenominator
del numero razionale.
- La classe dovrebbe definire i metodi magici
__add__
,__sub__
,__mul__
e__truediv__
per sommare, sottrarre, moltiplicare e dividere due numeri razionali, rispettivamente.
- Le operazioni di addizione, sottrazione, moltiplicazione e divisione dovrebbero essere eseguite in modo matematicamente corretto per i numeri razionali, con il risultato che dovrebbe essere un'altra istanza di
RationalNumber
.
- La classe dovrebbe ridurre il numero razionale alla sua forma più semplice dividendo il numeratore e il denominatore per il loro massimo comun divisore (MCD).
- La classe dovrebbe implementare il metodo magico
__str__
che restituisce una stringa<numerator> / <denominator>
nella sua forma più semplice.
Input | Output |
print(RationalNumber(1, 2) + RationalNumber(1, 3)); print(RationalNumber(1, 2) - RationalNumber(1, 3)); print(RationalNumber(1, 2) * RationalNumber(1, 3)); print(RationalNumber(1, 2) / RationalNumber(1, 3)); | 5 / 6
1 / 6
1 / 6
3 / 2 |
Constraints
Time limit: 1 seconds
Memory limit: 512 MB
Output limit: 1 MB