class Time:
def __init__(self,hour=0, minute= 0, second=0):
if type(hour) != int or type(minute) != int or type(second) != int or hour < 0 or hour > 23 or minute < 0 or minute > 59 or second < 0 or second > 59:
raise AssertionError
self.hour = hour
self.minute = minute
self.second = second
self._date = datetime.datetime(2000, 1, 1, hour, minute, second)
def __call__(self):
return Time(self.hour,self.minute,self.second)
我正在编写Time类,我编写了 init 方法和调用方法。 调用方法允许使用三个int参数调用此类中的对象:将对象的小时更新为第一个参数,将对象的分钟更新为第二个参数,以及第二个对象是第三个参数。它应该返回None,如果任何参数不合法,并使用描述问题/值的适当字符串引发AssertionError。
我的调用方法不起作用,有人可以告诉我如何修复它吗?提前致谢。
测试电话
c-->t = Time()
c-->t(16,2,5)
e-->t-->4:02:05pm
c-->t(4,23,16)
e-->t-->4:23:16am
^-->t(5,60,12)-->AssertionError