利用python写一个下班倒计时程序
最近在学习python,想到每天到点下班,便突发奇想写了个下班的倒计时程序,通过input输入下班时间,然后出现下班倒计时我把下班时间元组减去当前时间元组得到的秒数除两个60得到剩余小时数,同样的方法得到剩余分钟数和剩余秒数:now = datetime.datetime.today()xiaban = datetime.datetime.strptime(xbsj, "%H:%M:%S")del
·
最近在学习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的一天
更多推荐
已为社区贡献1条内容
所有评论(0)