0.写在前面的话
本博客将不定期分享Python练习的小程序代码,供交流学习!!!
好吧,主要是督促自己努力学习,争取迈入女程序猿的行列,贵在坚持!(手动撒花)
今天,在这里要表白一下鱼C论坛的小甲鱼,是小甲鱼引领我进入了学习python的小课堂,小甲鱼的免费课程尤其推荐!支持小甲鱼!博客中些许小程序都是跟随小甲鱼的课堂记录下来的,致敬小甲鱼老师!
鱼C论坛小甲鱼课程:http://blog.fishc.com/category/python
1.定时器题目:
好了,进入正题,今天小程序的题目如图:
2.完整代码分享:
import time as t
class MyTimer():
def __init__(self):
self.unit = ['年', '月', '天', '小时', '分钟', '秒']
self.prompt = "未开始计时!"
self.lasted = []
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.__cala__()
print("计时结束!")
#内部方法,计算运行时间
def __cala__(self):
self.lasted = []
self.prompt = "总共运行了"
for index in range(6):
self.lasted.append(self.end[index] - self.begin[index])
if self.lasted[index]:
self.prompt += (str(self.lasted[index]) + self.unit[index])
# 为下一轮计时初始化变量
self.begin = 0
self.end = 0
3.程序运行测试
>>> t1 = MyTimer()
>>> t1
未开始计时!
>>> t1.stop()
请先调用start()开始计时!
>>> t1.start()
开始计时...
>>> t1.stop()
计时结束!
>>> t2 = MyTimer()
>>> t2.start()
开始计时...
>>> t2.stop()
计时结束!
>>> t1 + t2
'总共运行了8秒'
本程序留了一个小缺陷,找到了没?
——好好学习,天天向上!!!