Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
@time.setter solution in Clear category for Microwave Ovens by flpo
def time_seconds(time):
return int(time[:-1]) if time.endswith('s') else int(time[:-1]) * 60
class MicrowaveBase(object):
def __init__(self):
self._time = 0
@property
def time(self): return self._time
@time.setter
def time(self, _time):
self._time = 0 if _time < 0 else 5400 if _time > 5400 else _time
def show_time(self):
return '{:02d}:{:02d}'.format(*divmod(self.time, 60))
class RemoteControl:
def __init__(self, microwave):
self.microwave = microwave
self.show_time = microwave.show_time
def set_time(self, time):
m, s = map(int, time.split(':'))
self.microwave.time = m * 60 + s
def add_time(self, time):
self.microwave.time += time_seconds(time)
def del_time(self, time):
self.microwave.time -= time_seconds(time)
def broken(i):
class Broken(MicrowaveBase):
def show_time(self):
time = super(Broken, self).show_time()
return time[:i] + '_' + time[i+1:]
return Broken
Microwave1 = broken(0)
Microwave2 = broken(4)
Microwave3 = MicrowaveBase
June 22, 2018