Класс 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
.
Ввод | Вывод |
---|---|
| 1 4 15 21 27 15 |
Примечание: Часы представлены в 24-часовом формате.
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB