计时器优化问题
本帖最后由 xizi123 于 2020-11-20 00:01 编辑求大神指教:
问题1,为什么在stop()函数中,不能用self.prompt来做提示,而必须用print来打印提示内容(标红的句子)
问题2,在计时器中含有负数时,优化可否用我的方法,是否可行?
谢谢!!!
import time
class MyTime():
def __init__(self):
self.begin =0
self.end = 0
self.lasted = []
self.unit = ['年','月','天','小时','分钟','秒']
self.prompt = '提示:程序未运行'
self.zh =
def start(self):
self.begin = time.localtime()
self.prompt ='提示:请先运行stop()程序'
print('计时开始......')
def stop(self):
if self.begin:
self.end = time.localtime()
self.prompt = '计时结束'
self._calc()
else:
print('提示:请先运行start()程序')
#内部程序,计算时间
def _calc(self):
self.prompt = '程序共运行了'
#转换带有负数的时间
#由地位向高位依次按照 负数时间加上进率时间 在向上一位借1的思路进行计算
dd= []
temp = []
count = 0
for index in range(6):
temp.append(self.end-self.begin)
for index in range(6):
if temp < 0:
dd.append(temp + self.zh +count)
count = -1
else:
dd.append(temp+count)
count = 0
dd.reverse()
print('dd = ',dd)
self.lasted = dd[:]
for index in range(6):
if self.lasted:
self.prompt += str(self.lasted) + self.unit
print(self.prompt)
self.begin = 0
self.end = 0
def __str__(self):
return self.prompt
__repr__ = __str__
def __add__ (self,other):
result = []
prompt = '程序共运行了'
for index in range(6):
result.append(self.lasted+other.lasted)
if result:
prompt += str(result) + self.unit
print(prompt)
本帖最后由 suchocolate 于 2020-11-22 13:58 编辑
{:10_277:}
页:
[1]