使用python编写下班倒计时小程序

最近在学习python,每到摸鱼时间就想着还有多久下班,于是就想到了利用python写一个下班倒计时程序,下面给大家分享一下我的代码。

使用python编写下班倒计时小程序_第1张图片

代码比较简单,相信各位大佬都能看懂!

记住,我们要养成写注释的好习惯!!!

使用python编写下班倒计时小程序_第2张图片

 

import datetime
import pygame , sys
from tkinter import messagebox  #用来制作弹出框
# 初始化所有pygame模块
pygame.init()
# 创建游戏窗口大小
size = width,height = 300,200
screen = pygame.display.set_mode(size)
# 设置窗口标题
pygame.display.set_caption("下班倒计时!")
# 加载图标
#ico = pygame.image.load(r"D:\MY\python\img\2.jpg")
# 设置图标大小
#ico = pygame.transform.smoothscale(ico,(50,50))
# 使用图标
#pygame.display.set_icon(ico)
# 创建颜色
whiteness = (255,255,255)
red = (255,0,0)
green = (0,255,0)
brown = (128,42,42)
blue = (135,206,235)
orange = (255,128,0)
purple = (138,43,226)
cyan = (0,255,255)
black = (0,0,0)
# 设置字体样式和大小
f = pygame.font.SysFont("stxihei",25)
f1 = pygame.font.SysFont("stxihei",40)
# 设置一个文本框
text = f.render("下班还有",True,black)
# 获取文本框的位置矩形大小
text_rect = text.get_rect()
# 设置文本框中心位置坐标
text_rect.center = (60,90)
# 创建控制频率的clock
clock = pygame.time.Clock()
# 控制频率
fps = 100
while True:
    # 处理退出事件
    for event in pygame.event.get():    #监听用户事件
        if event.type == pygame.QUIT:   #判断用户是否点击了关闭按钮
            pygame.quit()
            sys.exit()                  #用户退出
    # 设置下班时间
    h = 20  # 时
    m = 00  # 分
    s = 00  # 秒
    # 设置背景颜色
    screen.fill(blue)
    # 绘制一条线
    pygame.draw.line(screen, black, [110, 110], [230, 110], 2)
    # 将文字打印到屏幕上
    screen.blit(text,text_rect)
    # 获取当前时间
    time_now = datetime.datetime.now()
    # 设置下班时间
    time_end_Y = int(time_now.strftime("%Y"))   # 获取当天时间的年
    time_end_m = int(time_now.strftime("%m"))   # 获取当天时间的月
    time_end_d = int(time_now.strftime("%d"))   # 获取当天时间的日
    time_end_H = int(time_now.strftime("%H"))   # 获取当天时间的时
    time_end_M = int(time_now.strftime("%M"))   # 获取当天时间的分
    time_end_S = int(time_now.strftime("%S"))   # 获取当天时间的秒
    time_end = datetime.datetime(time_end_Y,time_end_m,time_end_d, h,m,s)
    # 获取下班时间到现在时间还有多少秒
    sumtime = (time_end-time_now).seconds
    # print(sumtime)
    # 设置时间文本框
    times = f1.render(str(sumtime),True,red)
    # 设置时间文本框位置矩形大小
    times_rec = times.get_rect()
    # 设置时间框中心位置坐标
    times_rec.center = (170,90)
    # 将时间打印到屏幕上
    if h > time_end_H or (h == time_end_H and m > time_end_M):
        if sumtime > 0 :
            screen.blit(times,times_rec)
        else:
            # 倒计时结束后提示
            messagebox.showinfo("下班倒计时结束!","重要的事情说三遍!\n\n下班时间到了,赶紧下班!\n下班时间到了,赶紧下班!\n下班时间到了,赶紧下班!")
            break
    elif h == time_end_H and m == time_end_M:
        if s > time_end_S:
            if sumtime > 0:
                screen.blit(times, times_rec)
            else:
                # 倒计时结束后提示
                messagebox.showinfo("下班倒计时结束!", "重要的事情说三遍!\n\n下班时间到了,赶紧下班!\n下班时间到了,赶紧下班!\n下班时间到了,赶紧下班!")
                break
        else:
            print("下班时间小于当前时间,不能进行倒计时!")
            break
    else:
        print("下班时间小于当前时间,不能进行倒计时!")
        break
    # 设置秒字文本框
    s = f.render("(秒)",True,black)
    # 设置秒文本框矩形大小
    s_rec = s.get_rect()
    # 设置秒文本框位置
    s_rec.center = (260,90)
    # 将秒字打印到屏幕上
    screen.blit(s,s_rec)

    # 将完整带显示的Surface对象更新到屏幕上
    pygame.display.flip()
    # 设置刷新率
    clock.tick(fps)

本次分享结束,欢迎各位大佬观看!

使用python编写下班倒计时小程序_第3张图片

 

你可能感兴趣的:(python,pygame)