exercism-solutions/python/clock/clock.py
2021-06-11 16:54:11 +03:00

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)