class Clock:
def __init__(self,hours,minutes):```
self.hours=hours
self.minutes=minutes
def Clock(hours,minutes):
if hours>9 and minutes>9:
return str(hours)+":"+str(minutes)
elif hours>9 and minutes<10:
return str(hours)+":0"+str(minutes)
elif hours<10 and minutes>9:
return "0"+str(hours)+":"+str(minutes)
else:
return "0"+str(hours)+":"+"0"+str(minutes)
def __add__(self,other):
????if Clock.Clock(self.hours,self.minutes)+Clock.Clock(other.hours,other.minutes)????
t=Clock.Clock(5,6)+Clock.Clock(5,6)
print(t)
当我打印t时,得到05:0605:06 我想知道当我在写Clock。Clock(self,other)+Clock。Clock(self,other)时它会输出Clock(self,other)+Clock(self,other) 对于上面的输入,它等于10:12。 问题来源StackOverflow 地址:/questions/59382501/overwrite-add-method
您添加的字符串将连接起来,而不是实际添加的小时和分钟值。你可能想这样做
def __add__(self,other):
return Clock.Clock(self.hours+other.hours,self.minutes+other.minutes)
假设小时和分钟属性是数值的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。