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

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秒'

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值