Класс Time
Ваша задача — создать класс
Time
с тремя атрибутами: hours
, minutes
и seconds
.Необходимо реализовать два магических метода
__add__
и __sub__
, которые позволят складывать и вычитать два экземпляра класса Time
соответственно. Результатом этих операций должен быть новый объект Time
.Также нужно реализовать магический метод
__str__
, который будет возвращать строку, содержащую hours
, minutes
и seconds
, разделенные пробелом.Следует обрабатывать ситуации, когда значения
minutes
или seconds
становятся больше 59
или меньше 0
, а также случаи, когда hours
становятся больше 24
или меньше 0
.В методе
__add__
, если seconds
, minutes
или hours
превышают допустимое значение, они должны сбрасываться на 0
, а следующая более высокая единица времени (минуты или часы) увеличиваться на 1
. Hours
всегда должны оставаться в диапазоне от 0 до 23.В методе
__sub__
, если seconds
или minutes
становятся меньше 0
, они должны устанавливаться в 59
, а следующая более высокая единица времени (минуты или часы) уменьшаться на 1
. Если hours
становятся меньше 0
, они должны устанавливаться в 23
.Ввод | Вывод |
t1 = Time(23, 15, 45); t2 = Time(1, 48, 30); print(t1 + t2); print(t1 - t2); | 1 4 15
21 27 15 |
Примечание: Часы представлены в 24-часовом формате.
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB