24 lines
668 B
Python
24 lines
668 B
Python
HOURS_IN_DAY = 24
|
|
MINUTES_IN_HOUR = 60
|
|
MINUTES_IN_DAY = HOURS_IN_DAY*MINUTES_IN_HOUR
|
|
|
|
|
|
class Clock:
|
|
def __init__(self, hour=0, minute=0):
|
|
self.minutes = (MINUTES_IN_HOUR*hour + minute) % MINUTES_IN_DAY
|
|
|
|
def __repr__(self):
|
|
hours = self.minutes // MINUTES_IN_HOUR
|
|
minutes = self.minutes % MINUTES_IN_HOUR
|
|
return f'{hours:02}:{minutes:02}'
|
|
|
|
def __eq__(self, other):
|
|
return self.minutes == other.minutes
|
|
|
|
def __add__(self, minutes):
|
|
clock = Clock()
|
|
clock.minutes = (self.minutes + minutes) % MINUTES_IN_DAY
|
|
return clock
|
|
|
|
def __sub__(self, minutes):
|
|
return self.__add__(-minutes)
|