|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这个是报错是什么原因: t1=MyTimer()
Traceback (most recent call last):
File "<pyshell#211>", line 1, in <module>
t1=MyTimer()
File "C:/Users/lenovo/Desktop/计时器(秒).py", line 9, in __init__
self.end=0
TypeError: cannot unpack non-iterable builtin_function_or_method object
代码是我按照小甲鱼的课后题手动输入的,自己找不到问题。代码如下:import time as t
class MyTimer:
def __init__(self):
self.prompt='计时未开始!'
self.lasted=0.0
self.begin=0
self.end=0
self.default_timer=t.perf_counter
def __str__(self):
return self.prompt
__repr__=__str__
def __add__(self,other):
result=self.lasted+other.lasted
prompt = '总共运行了%0.2f秒'%result
return prompt
#开始计时
def start(self):
self.begin=self.defailt_timer()
self.prompt='提示:请先调用stop()停止计时!'
print('计时开始')
#停止计时
def stop(self):
if not self.begin:
print('提示:请先调用start()开始计时')
else:
self.end=self.default_timer()
self._calc()
print('计时结束!')
#内部方法,计算运行时间
def _calc(self):
self.lasted=self.end - self.begin
self.prompt='总共运行了%0.2f秒'% self.lasted
#为下一轮计算准备
self.begin=0
self.end=0
#设置计时器(time.perf_counter()或time.process_time())
def set_timer(self,timer):
if timer=='process_time':
self.default_timer=t.process_time
elif timer == 'perf_counter':
self.default_timer=t.perf_counter
else:
print ('输入无效,请输入perf_counter或者process_time')
|
|