IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 一文带你学会python新年倒计时 -> 正文阅读

[Python知识库]一文带你学会python新年倒计时

  • 作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。?

  • ?座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页??????

目录

前言

一.新年介绍

二.代码介绍

1.应用的技术

(1)Pygame 库(做窗口)

(2)时间函数 (datetime)

(3)math库的简介

三.效果展示

四、实现步骤?

1.调用 pygame 库

?2.?调用时间函数和数学函数

3.初始化pygame (设置窗口宽高大小与标题)

4.装载背景图片

5.设置字体

6.设置一个文本框

7.设置过年时间与事件退出

8.取得现在时间并且计算到新年时间

9.刷上时间背景窗口

五、编码实现(全部源代码)


前言

快新年了~和学姐花了一下午做出的新年倒计时,女朋友一看吃醋了。来看看和学姐如何研究的。


一.新年介绍

新年,即一年的第一天,为世界多数国家通行的节日。世界各国,特别是古代,新年都有不同的日期,现代世界多数国家定为公元制纪年的1月1日。现代中国将“元旦”称为“公历新年”,将“春节”称为“农历新年”。当日,人们会以各种不同的方式庆祝新年的到来。


二.代码介绍

1.应用的技术

(1)Pygame 库(做窗口)

Pygame 是一个专门用来开发游戏的 Python 模块,主要为开发、设计 2D 电子游戏而生,它是一个免费、开源的第三方软件包,支持多种操作系统,具有良好的跨平台性(比如 Windows、Linux、Mac 等)。Pygame 是?Pete Shinners?在 SDL(Simple DirectMedia Layer,一套开源的跨平台多媒体开发库)基础上开发而来,其目的是取代 PySDL。


(2)时间函数 (datetime)

在Python程序里,为了表示日期和时间,我们需要借助datetime模块。


(3)math库的简介

math库是Python提供的内置数学类函数库,因为复数类型常用于科学计算,一般计算并不常用,因此math库不支持复数类型,仅支持整数和浮点数运算。
math库一共提供了4个数学常数和44个的数。44个教学的数共分为4大类:16个数值表示的教、8个幂对数的数、16个二角对数的数和4个高等特殊函数。


三.效果展示


四、实现步骤?

1.调用 pygame 库

这个库需要单独安装 安装很简单cmd命令行 pip? install? pygame

import pygame  # 调用 pygame 库  这个库需要单独安装 安装很简单cmd命令行 pip  install  pygame
import sys
from pygame.locals import *

?2.?调用时间函数和数学函数

import datetime  # 调用时间函数  下面  time 也是时间函数
from datetime import datetime
from datetime import date
from datetime import time
import time
import math  # 调用数学函数

3.初始化pygame (设置窗口宽高大小与标题)

pygame.init()  # 初始化 pygame

size = width, height = 550, 400  # 设置pygame窗口的 宽和高

screen = pygame.display.set_mode(size)  # screen 设置窗口大小是 size
pygame.display.set_caption("我是咸鱼")  # 设置窗口顶部的标题

4.装载背景图片

background = pygame.image.load("image/bground1.png").convert()# 装载背景图片

在image文件中图片名bground1.png。


5.设置字体

f1 = pygame.font.SysFont('方正粗黑宋简体', 30)  # 设置两个字体 大小 30 和 50 样式  幼圆
f = pygame.font.SysFont('方正粗黑宋简体', 50)

注意:如果呈现字体这样的情况。

?通过这个命令查看 pygame 支持的字体格式,然后写入支持的字体

import pygame
print (pygame.font.get_fonts())

6.设置一个文本框

设置文本框并调节位置

text1 = f1.render("距离春节过年还有:", True, (0, 0, 0))  # 设置一个文本框

textrect = text1.get_rect()  # 取得文本框的位置矩形大小
textrect.center = (150, 100)  # 设置文本框中心位置为窗口坐标的 (150,100)的位置

7.设置过年时间与事件退出

spring = datetime(2023, 1, 22, 0, 0)  # 给定过年正月的具体时间, datetime 可以将参数变为时间格式
while True:
    for event in pygame.event.get():  # 取事件队列中的值如有 QUIT 就推出游戏
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

8.取得现在时间并且计算到新年时间

today = datetime.now()  # 取得现在的时间
    day = (spring - today).days  # 用春节的时间减现在的时间 得到天数
    second = (spring - today).seconds  # 得到秒数
    sec = second % 60  # 分别算出 具体秒数  分钟数 和 小时数
    minute = second / 60 % 60
    hour = second / 60 / 60
    if hour > 24:  # 如果小时大于24就减掉24
        hour = hour - 24
    hour = math.floor(hour)  # 去掉hour 和 minute 的小数部分
    minute = math.floor(minute)

9.刷上时间背景窗口

a = str(day) + "天" + str(hour) + '小时' + str(minute) + "分钟" + str(sec) + "秒" + "\n"
    screen.blit(background, (0, 0))  # 在pygame 窗口上刷上背景图
    screen.blit(text1, textrect)  # 刷上固定文字
    text = f.render(str(a), True, (255, 0, 0))  # 刷上时间数
    textrec = text.get_rect()
    textrec.center = (300, 200)
    screen.blit(text, textrec)
    pygame.display.flip()  # 刷新窗口
    time.sleep(1)  # 停留一秒钟

五、编码实现(全部源代码)

import pygame  # 调用 pygame 库  这个库需要单独安装 安装很简单cmd命令行 pip  install  pygame
import sys
from pygame.locals import *

import datetime  # 调用时间函数  下面  time 也是时间函数
from datetime import datetime
from datetime import date
from datetime import time
import time
import math  # 调用数学函数

pygame.init()  # 初始化 pygame

size = width, height = 550, 400  # 设置pygame窗口的 宽和高

screen = pygame.display.set_mode(size)  # screen 设置窗口大小是 size
pygame.display.set_caption("我是咸鱼")  # 设置窗口顶部的标题

background = pygame.image.load("image/bground1.png").convert()# 装载背景图片

f1 = pygame.font.SysFont('方正粗黑宋简体', 30)  # 设置两个字体 大小 30 和 50 样式  幼圆
f = pygame.font.SysFont('方正粗黑宋简体', 50)

text1 = f1.render("距离春节过年还有:", True, (0, 0, 0))  # 设置一个文本框

textrect = text1.get_rect()  # 取得文本框的位置矩形大小
textrect.center = (150, 100)  # 设置文本框中心位置为窗口坐标的 (150,100)的位置

spring = datetime(2023, 1, 22, 0, 0)  # 给定过年正月的具体时间, datetime 可以将参数变为时间格式
while True:
    for event in pygame.event.get():  # 取事件队列中的值如有 QUIT 就推出游戏
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

    today = datetime.now()  # 取得现在的时间
    day = (spring - today).days  # 用春节的时间减现在的时间 得到天数
    second = (spring - today).seconds  # 得到秒数
    sec = second % 60  # 分别算出 具体秒数  分钟数 和 小时数
    minute = second / 60 % 60
    hour = second / 60 / 60
    if hour > 24:  # 如果小时大于24就减掉24
        hour = hour - 24
    hour = math.floor(hour)  # 去掉hour 和 minute 的小数部分
    minute = math.floor(minute)

    a = str(day) + "天" + str(hour) + '小时' + str(minute) + "分钟" + str(sec) + "秒" + "\n"
    screen.blit(background, (0, 0))  # 在pygame 窗口上刷上背景图
    screen.blit(text1, textrect)  # 刷上固定文字
    text = f.render(str(a), True, (255, 0, 0))  # 刷上时间数
    textrec = text.get_rect()
    textrec.center = (300, 200)
    screen.blit(text, textrec)
    pygame.display.flip()  # 刷新窗口
    time.sleep(1)  # 停留一秒钟






创作不易,求关注,点赞,收藏,谢谢~?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 11:04:55  更:2022-12-25 11:06:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 8:22:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码