Classe Time
Il tuo compito è creare una classe
Time
con tre attributi: hours
, minutes
e seconds
.Devi implementare due metodi magici,
__add__
e __sub__
, che permetteranno rispettivamente l'addizione e la sottrazione di due istanze della classe Time
. Il risultato di queste operazioni dovrebbe essere una nuova istanza di Time
.Dovresti anche implementare il metodo magico
__str__
che restituisce una stringa contenente hours
, minutes
e seconds
separati da uno spazio.Devi gestire i casi in cui i minuti o i secondi superano
59
o scendono sotto 0
, così come i casi in cui le ore superano 24
o scendono sotto 0
.Nel metodo
__add__
, se i secondi, i minuti o le ore superano la soglia, dovrebbero ripartire da 0
e incrementare di 1
l'unità superiore (minuti o ore). Le ore dovrebbero sempre rimanere nell'intervallo da 0 a 23.Allo stesso modo, nel metodo
__sub__
, se i secondi o i minuti scendono sotto 0
, dovrebbero ripartire da 59
e decrementare di 1
l'unità superiore (minuti o ore). Se le ore scendono sotto 0
, dovrebbero ripartire da 23
.Input | Output |
t1 = Time(23, 15, 45); t2 = Time(1, 48, 30); print(t1 + t2); print(t1 - t2); | 1 4 15
21 27 15 |
Nota: Le ore sono rappresentate in formato 24 ore.
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB