Python小程序分享02——简单定时器

0.写在前面的话

本博客将不定期分享Python练习的小程序代码,供交流学习!!!

好吧,主要是督促自己努力学习,争取迈入女程序猿的行列,贵在坚持!(手动撒花)

今天,在这里要表白一下鱼C论坛的小甲鱼,是小甲鱼引领我进入了学习python的小课堂,小甲鱼的免费课程尤其推荐!支持小甲鱼!博客中些许小程序都是跟随小甲鱼的课堂记录下来的,致敬小甲鱼老师!
鱼C论坛小甲鱼课程:http://blog.fishc.com/category/python

1.定时器题目:

好了,进入正题,今天小程序的题目如图:
Python小程序分享02——简单定时器_第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秒'

本程序留了一个小缺陷,找到了没?

——好好学习,天天向上!!!

你可能感兴趣的:(零基础学python)