MyTimer运行时出错,显示unsupported operand type(s)
import time as tclass MyTimer():
def __init__(self):
self.unit = ['年','月','天','小时','分钟','秒']
self.prompt = '未开始计时'
self.lasted = []
self.begin = 0
self.end = 0
def __str__(self):
return self.prompt
def __and__(self, other):
prompt="总共运行时间"
result =[]
for index in range(6):
result.append(self.lasted + other.lasted)
if result:
prompt += (str(result) + self.unit)
return prompt
__repr__ = __str__
# 开始计时
def start(self):
self.begin=t.localtime()
self.prompt =("提示:请先调用stop()停止计时!")
print("计时开始...")
#停止计时
def stop(self):
if not self.begin:
print("提示:请先调用start()开始计时!")
else:
self.end = t.localtime()
self._calc()
print("计时结束")
# 时间总和
def _calc(self):
self.lasted = []
self.prompt = "总共运行了"
for index in range(6):
self.lasted.append(self.end - self.begin)
if self.lasted:
self.prompt += (str(self.lasted) + self.unit)
self.begin = 0
self.end = 0
t1=MyTimer()
t1.start()
计时开始...
t1.stop()
计时结束
t1
总共运行了3秒
t2=MyTimer()
t2.start()
计时开始...
t2.stop()
计时结束
t2
总共运行了7秒
t1+t2
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'MyTimer' and 'MyTimer'
这是那里出问题了找了半天
+的魔法方法是add,不是and 冬雪雪冬 发表于 2021-8-23 08:49
+的魔法方法是add,不是and
还有一个问题,上面的运行是在控制台运行的,在pycharm里面怎么运行
页:
[1]