python pygame实现倒计时

实现思路

获取开始时间、当前时间,通过当前时间-开始时间=时间差,再通过倒计时的总时长-时间差即可实现!

随着时间的流逝,当前时间会变大,也就导致时间差会变大,当使用总时长-时间差的时候,得到的结果就会越来越小。当结果为0是,即为倒计时结束!

代码实现

导入对应的库

import pygame,time, datetime

秒数转换为小时、分钟、秒函数

# 将秒数转换为小时,分数,秒
def seconds_to_hms(seconds):# 定义小时、分钟和秒的最大值hours = seconds // 3600minutes = int((seconds % 3600) // 60)remaining_seconds = int(seconds % 60)return hours, minutes, remaining_seconds

获取当前时间

def getTime():global year,month,day,hour,minute,second# 获取当前时间的年月日year = datetime.datetime.now().yearmonth = datetime.datetime.now().monthday = datetime.datetime.now().dayhour = datetime.datetime.now().hourminute = datetime.datetime.now().minutesecond = datetime.datetime.now().second
#记录开始时间
startTime = time.time()
# 30分钟答题时间
totalTime=1800
#结束时间
endTime = time.time()
#开始时间与当前时间时间差(进行了多久)
offset_time = endTime-startTime
#总时间-时间差=剩余时间
h,m,s=seconds_to_hms(totalTime-offset_time)
print(str(m)+":"+str(s))

倒计时结束判断

# 自动提交
if offset_time>=totalTime:easygui.msgbox("本次考试时间到,系统将自动提交!!!")

效果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/665082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法41:掉落的方块(力扣699题)----线段树

题目:https://leetcode.cn/problems/falling-squares/description/ 在二维平面上的 x 轴上,放置着一些方块。 给你一个二维整数数组 positions ,其中 positions[i] [lefti, sideLengthi] 表示:第 i 个方块边长为 sideLengthi &…

027 方法的定义及调用

方法的定义 方法调用 设计方法的原则 使用场景 想象一下有个场景需要我们不断频繁地去使用某部分特定的代码,我们自然可以通过复制粘贴去完成,但是这样会导致代码又臭又长,大部分是重复的代码,这不利于我们后续的维护,…

2分钟搭建FastGPT训练企业知识库AI助理(Docker部署)

我们使用宝塔面板来进行搭建,更方便快捷灵活,争取操作时间只需两分钟 宝塔面板下安装Docker 在【软件商店中】安装【docker管理器】【docker模块】即可 通过Docker安装FastGPT 通过【Docker】【添加容器】【容器编排】创建里新增docker-compose.yaml 以下是模板内容 仅需…

LLM大模型

LLM模型是一种用于自然语言处理的语言模型,它是基于预训练的深度学习模型。LLM代表"Language Learning Model",它的目标是通过大规模的文本数据来学习语言的表示和语义理解。 LLM模型采用了Transformer架构,它由多个编码器层和解码…

【C++入门到精通】C++的IO流(输入输出流) [ C++入门 ]

阅读导航 引言一、C语言的输入与输出二、流是什么三、CIO流1. C标准IO流(1)istream(2)ostream(3)iostream(4)cin 和 cout 2. C文件IO流(1)ifstream&#xff0…

028 方法的重载

方法重载的定义 使用案例 public static void main(String[] args) {// 匹配到max(int a, int b)System.out.println(max(1, 3));// 匹配到max(double a, double b)System.out.println(max(1L, 3L));// 匹配到max(double a, double b, double c, double d),int自动…

服了,一个ThreadLocal被问出了花

分享是最有效的学习方式。 博客:https://blog.ktdaddy.com/ 故事 地铁上,小帅无力地倚靠着杆子,脑子里尽是刚才面试官的夺命连环问,“用过TheadLocal么?ThreadLocal是如何解决共享变量访问的安全性的呢?你…

手机gif动图怎么操作?这个方法分分钟解决

手机上怎么制作gif动画?Gif动图是当下非常流行的一种表达方式,通过简单的画面循环就能够传达您的想法。但是,想要在手机上制作gif动画的时候应该怎么办呢?通过会用GIF动图在线编辑(https://www.gif.cn/)工具…

【循环结构·js】

变量命名原则 变量名由字母、下划线、$ 或数字组成,并且必须由字母、下划线、$ 开头。 变量名不能命名为系统关键字和保留字。 JS代码在sourse里面调试 document.write(str); /*在页面上输出变量 str 的值*/数据类型的分类 为什么要标识数据类型: 不…

Kubernetes Pod使用

Pod是Kubernetes中可以创建、调度和部署的最小,也是最简单的单元。Pod是基于Kubernetes部署和运维应用的基础。本文重点介绍下Pod各字段的含义及Pod的使用,关于Pod更多的知识细节可以参考Kubernetes Pod详解一文。 本文参考的主要内容来源于Kubernetes 1…

设计模式——2_1 命令(Command)

文章目录 定义图纸一个例子:空调和他的遥控器只有控制面板的空调遥控器可以撤销的操作 碎碎念命令和Runnable命令和事务 定义 把请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持…

SQL编程中(触发器、存储过程与函数、游标的使用)

目录 前言: 一、触发器 1.1 触发器简介 1.2 触发器的创建 1.3 示例演示 二、存储过程 2.1 什么是存储过程 2.2 优势与应用场景 2.3 存储过程的创建与使用 各参数类型所实现的存储过程 三、存储函数 3.1 什么是存储函数 3.2 存储函数的创建与使用 调用…

Linux文件结构

所有Linux系统的文件结构都是一样的,区别于win系统的c盘,d盘,他只有一个根目录“/”,下面的文件夹结构基本是一样的,如下,文件夹有“箭头”代表的是软链接,即该文件夹的位置不在此,右…

小米平板6获取root权限教程

1. 绑定账号 1> 打开"设置-我的设备-全部参数-连续点击MIUI版本按钮",直到提示已打开开发者模式( p s : 这里需要重点关注红框平板型号和 M I U I 版本,例如我这里平板型号是 X i a o m i P a d 6 , M I U I 版本是 14.0.10 &am…

算法——B/排序

一、冒泡排序 A.冒泡思想 冒泡排序的思想是每次将最大的一下一下运到最右边,然后将最右边这个确定下来,再来确定第一大的,再确定第三大…… 对于数组a[ ],具体的来说,每次确定操作就是从左往右扫描,如果a[…

详解跨域(JSONP和CORS)

一、同源策略 同源策略(Same Origin Policy): 同源是指域名,协议,端口完成一致,那么这两个url就是同源。同源策略是一种约定,它是浏览器最核心也最基本的安全功能,也是浏览器故意设置的一个功能限制。如果缺少了同源策…

【开源】JAVA+Vue+SpringBoot实现就医保险管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预约挂号模块2.4 我的挂号模块 三、系统展示四、核心代码4.1 用户查询全部医生4.2 新增医生4.3 查询科室4.4 新增号源4.5 预约号源 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVue…

酷开系统 | 酷开科技智慧AI带你领略神奇的世界

在这个科技日新月异的时代,AI已成为我们生活中不可或缺的一部分。它不仅改变了我们的生活方式,更让我们对未来充满期待。说起酷开系统中智慧AI的强大,着实让人叹为观止。无论是语音识别、数据整理还是语言处理,智慧AI都在不断地突…

MySQL数据库①_MySQL入门(概念+使用)

目录 1. 数据库的概念 1.1 数据库的存储介质 1.2 主流数据库 2. MySQL的基本使用 2.1 链接数据库 2.2 服务器管理 2.3 数据库,服务器和表关系 2.4 简单MySQL语句 3. MySQL架构 4. SQL分类 5. 存储引擎 本篇完。 1. 数据库的概念 数据库是按照数据结构来…

交换机 路由器 网卡 MAC

1. 交换机 (Switch): 交换机是一种局域网设备,用于连接多台计算机和其他网络设备。与集线器不同,交换机能够学习和记忆设备的MAC地址,并且只将数据包发送到目标设备,提高了网络的效率和性能。 逐层转发 (Layer 2 Switching): 交换…