|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
照着代码修改了一下,但是运行后结果总是为0秒,没找出原因,望大神指点
代码如下
import time as t
class Mytime:
#定义————init————
def __init__(self):
self.prompt = "尚未启动计时器"
self.default = t.perf_counter()
self.begintime = 0
self.endtime = 0
#重写魔法方法—-str--,--repr--
def __str__(self):
return self.prompt
__repr__= __str__
#重写__add__
def __add__(self,other):
result = self.endtime - self.begintime
prompt = "共运行了%0.2f秒" % result
return prompt
#开始计时
def start(self):
self.begintime = self.default
self.prompt = "请停止计时器"
print("开始计时")
#停止计时
def stop(self):
self.endtime = self.default
self._calc()
self.prompt = "请先开始计时器"
print("停止计时")
#计算结果
def _calc(self):
self.result = self.endtime - self.begintime
self.prompt = "共运行了%0.2f秒" % self.result
print(self.prompt)
self.begintime = 0
self.endtime = 0
#定义设置获取时间的默认方式
def set_time(self):
choice = int(input("是否要修改默认获取时间的方式,是:1,否:0"))
if choice:
default = t.process_time()
你在__init__中self.default = t.perf_counter(),这时将时间值赋值给self.default,而start和stop中都是调用这个值,当然他们是相同的了,可以改为在start和stop中直接调用t.perf_counter()
|
|