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 |
t1 = Time(23, 15, 45); t2 = Time(1, 48, 30); print(t1 + t2); print(t1 - t2); | 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