Clase Time
Tu tarea es crear una clase Time
con tres atributos: hours
, minutes
y seconds
.
Debes implementar dos métodos mágicos, __add__
y __sub__
, que permitirán la suma y resta de dos instancias de la clase Time
respectivamente. El resultado de estas operaciones debe ser una nueva instancia de Time
.
También debes implementar el método mágico __str__
que devolverá una cadena con hours
, minutes
y seconds
separados por un espacio.
Tienes que manejar los casos en que los minutos o segundos superen 59
o estén por debajo de 0
, así como los casos en que las horas superen 24
o estén por debajo de 0
.
En el método __add__
, si los segundos, minutos u horas exceden el límite, deben reiniciarse a 0
e incrementar la siguiente unidad superior (minutos u horas) en 1
. Las horas siempre deben mantenerse en el rango de 0 a 23.
De manera similar, en el método __sub__
, si los segundos o minutos caen por debajo de 0
, deben reiniciarse a 59
y decrementar la siguiente unidad superior (minutos u horas) en 1
. Si las horas caen por debajo de 0
, deben reiniciarse a 23
.
Entrada | Salida |
---|---|
| 1 4 15 21 27 15 |
Nota: Las horas se representan en formato de 24 horas.
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB