|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import time as t
class MyTimer():
def __init__(self):
self.lasted = []
self.borrow = [0, 12, 31, 24, 60, 60]
self.unit = ['年','月','天','小时','分钟','秒']
self.prompt = '未开始计时!'
self.begin = 0
self.end = 0
def __str__(self):
return self.prompt
__repr__ = __str__
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
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):
temp = self.end[index] - self.begin[index]
if temp < 0:
i = 1
while self.lasted[index - i] < 1:
self.lasted[index - i] += self.borrow[index - i] - 1
self.lasted[index - i -1] -= 1
i += 1
self.lasted.append(self.borrow[index] + temp)
self.lasted[index-1] -= 1
else:
self.lasted.append(temp)
for index in range(6):
if self.lasted[index]:
self.prompt += (str(self.lasted[index]) + self.unit[index])
问题1:程序可能执行这个while语句(代码中标红的)吗?若可能的话,请举例。
问题2:程序中标注绿色的代码段,不理解为何最右边要-1(减1)? |
|