|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码:- import time as t
- class MyTimer():
-
- def __init__(self):
- self.unit=['年','月','天','小时','分钟','秒']
- self.prompt="未开始计时!"
- self.lasted=[]
- self.begin=0
- self.end=0
- def __str__(self):
- return self.prompt
- def __add___(self,other):
-
- prompt="总共运行了"
- result=[]
- for index in range(6):
- result.append(self.lasted[index]+other.lasted[index])
- if result[index]:
- prompt +=(str(result[index])+self.unit[index])
- 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[index]-self.begin[index])
-
- if self.lasted[index]:
- self.prompt+=(str(self.lasted[index])+self.unit[index])
- #为下一轮计时进行初始化
- self.begin=0
- self.end=0
-
-
-
复制代码
结果显示:t1=MyTimer()
>>> t1.start()
计时开始
>>> t1.stop()
计时结束
>>> t1
总共运行了10秒
>>> t2=MyTimer()
>>> t2.start()
计时开始
>>> t2.stop()
计时结束
>>> t2
总共运行了11秒
>>> t1+t2
Traceback (most recent call last):
File "<pyshell#34>", line 1, in <module>
t1+t2
TypeError: unsupported operand type(s) for +: 'MyTimer' and 'MyTimer'
>>>
|
|