|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import time
- class Mytimer:
- def __init__(self):
- self.begin,self.end=0,0
- self.result=[]
- self.unit=['年','月','日','时','分','秒']
- self.total=[0,12,31,24,60,60]
- self.prompt='请输入start()开始计时'
- def __str__(self):
- return self.prompt
- __repr__=__str__
- def __add__(self,other):
- prompt='总时间是'
- for i in range(6):
- self.result[i]=self.result[i]+other.result[i]
- if self.result[i]>self.total[i]:
- self.result[i]-=self.total[i]
- self.result[i-1]+=1
-
- for i in range(6): #因为进位是后进的,所以如果进位前是0的话,并不会打印这一位,所以要再循环一次
- if self.result[i]:
- prompt+=str(self.result[i])+self.unit[i]
- print(prompt)
-
- def start(self):
- print('计时开始...')
- self.begin=time.localtime()
- self.prompt='请输入stop()结束计时'
- def stop(self):
- if not self.begin:
- print('请输入start()开始计时')
- else:
- print('计时结束...')
- self.end=time.localtime()
- self.__calc()
- def __calc(self):
- self.prompt='共运行了'
- self.result=[] #重置列表
- for i in range(6):
- self.result.append(self.end[i]-self.begin[i])
- for i in range(6): #如果result出现负数,则向前借一位
- if self.result[-1-i]<0:
- self.result[-1-i-1]-=1
- self.result[-1-i]+=self.total[-1-i]
- if self.result[i]:
- self.prompt+=str(self.result[i])+self.unit[i]
- self.begin,self.end=0,0
-
- t1=Mytimer()
- t2=Mytimer()
复制代码
忽略月份大小的问题 |
|