利用python写一个下班倒计时程序

最近在学习python,想到每天到点下班,便突发奇想写了个下班的倒计时程序,通过input输入下班时间,然后出现下班倒计时

我把下班时间元组减去当前时间元组得到的秒数除两个60得到剩余小时数,同样的方法得到剩余分钟数和剩余秒数:

now = datetime.datetime.today()
xiaban = datetime.datetime.strptime(xbsj, "%H:%M:%S")
deltime = xiaban - now
shour = int((deltime.seconds) / 60 / 60)  # 剩余小时数
smin = int((deltime.seconds - shour * 60 * 60) / 60)  # 剩余分钟数
ssec = int(deltime.seconds - (smin * 60 + shour * 60 * 60))  # 剩余秒数

因为要一直刷新秒数,所以要print覆盖打印输出,所以用了"\r"从第一位开始打印, end="" 不换行  ,必须要加flush=True 因为不加的话,它会在循环结束才打印一次
print("\r", "距离下班时间还有:{}小时{}分{}秒".format(shour, smin, ssec), end="", flush=True)

运行结果如下:

     

     

然后我再倒计时结束后再加了个文字提醒:

while djs != 0:
    print("\r", "你已经下班啦!注意打卡,回家回家!(该程序将在%d秒后关闭)"%djs, end="", flush=True)
    djs = djs - 1
    time.sleep(1)
break

djs定义的一个倒计时变量, 当它等于0即意味着到下班时间了,然后就输出打印

全部代码如下:

        

import time
import datetime

class XB:
    def xiaban(self):
        while True:
            try:
                xbsj = input("请输入你的下班时间(格式如:18:30:00):")
                shour = 1
                smin = 1
                ssec = 1
                while not(shour == 0 and smin == 0 and ssec ==0):
                    now = datetime.datetime.today()
                    xiaban = datetime.datetime.strptime(xbsj, "%H:%M:%S")
                    deltime = xiaban - now
                    shour = int((deltime.seconds) / 60 / 60)  # 剩余小时数
                    smin = int((deltime.seconds - shour * 60 * 60) / 60)  # 剩余分钟数
                    ssec = int(deltime.seconds - (smin * 60 + shour * 60 * 60))  # 剩余秒数
                    print("\r", "距离下班时间还有:{}小时{}分{}秒".format(shour, smin, ssec), end="", flush=True)
                    time.sleep(1)
                djs = 60
                while djs != 0:
                    print("\r", "你已经下班啦!注意打卡,回家回家!(该程序将在%d秒后关闭)"%djs, end="", flush=True)
                    djs = djs - 1
                    time.sleep(1)
                break
            except Exception:
                print("输入的格式不正确,请按照提示输入格式!")

if __name__ == '__main__':
    go = XB()
    XB().xiaban()

加油 上班偷偷学习python的一天

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值