利用python写时钟程序_如何用python编写一个番茄钟程序
今天,我们尝试用python来编写一个简单的PC端番茄钟,需要实现的功能如下:启动时“滴”一声并询问:“休息时间结束!是否开始一个新的番茄钟?”
如果用户点击"OK",则开始计时,点击“取消”则退出程序。
25分钟后“滴”一声并询问:“工作时间结束!是否开始休息?”
如果用户点击"OK",则开始计时,点击“取消”则退出程序。
5分钟后回到第1步,开始下一轮循环。
为了实现以上功能,我们需要用到三个python内建库:winsound、tkinter和time。
1. winsound
顾名思义,winsound能让windows系统发出声音。这里我们要用到其中的一个Beep()方法,具体用法如下:
from winsound import Beep
Beep(600, 1000)
Beep的第一个参数代表音量大小,第二个参数代表蜂鸣持续时间长短,(600, 1000)的组合是我尝试过的比较理想的组合,当然我们也可以选择其他的数值。
2. tkinter
tkinter是python内建的一个图形界面(GUI)工具包,里面提供了各种组件,熟悉web交互式设计的同学应该对它很有亲近感。不熟悉也不要紧,可以使用tkinter提供的一些高级模块,比如messagebox。
messagebox就是“消息框”的意思,它有askokcancel askquestion showinfo等不同的类型,我们可以选择自己需要的类型。这里我选择的是askokcancel,用法是:
from tkinter.messagebox import askokcancel
askokcancel(title="我的标题", message="我的提示")
它的模样如图所示:
如果点击“确定”,对话框返回True值,点击“取消”返回False值。
3. time
time是一个跟时间有关的库。在这个例子中,我们要用time库中的sleep()方法来计时,比如让程序休眠25分钟:
from time import sleep
sleep(60*25) # 25分钟等于25*60秒
4. 全部代码
有了这些基本方法之后,我们可以用一个while循环和一个if...else...条件结构来编写我们的番茄钟。
from tkinter.messagebox import askokcancel
from time import sleep
from winsound import Beep
while True:
Beep(600, 1000)
if askokcancel(title="休息时间结束!", message="开始一个新的番茄钟吗?"):
sleep(25*60)
Beep(600, 1000)
if askokcancel(title="工作时间结束", message="开始休息吗?"):
sleep(5*60)
else:
break
else:
break
说明:break语句的作用是从while循环中跳出。
为了使后面打包的exe程序尽量小,我们从库中导入单个的函数,而不是整个库。
下一篇我们将介绍如何把python文件打包成可独立运行的exe程序。
利用python写时钟程序_如何用python编写一个番茄钟程序相关推荐
- 如何用python写串口通信软件_如何用python写个串口通信的程序?
展开全部 打开串口后启动一个线程来监听串口数据的进入,有数据时,就做数据的处理. 用python写串口通信e68a84e8a2ad32313133353236313431303231363533313 ...
- 用python写注册登录_如何用python 写注册,登录功能的测试
2015-07-09 回答 有些网页需要你登录之后才可以访问,你需要提供账户和密码. 只要在发送http请求时,带上含有正常登陆的cookie就可以了. 1.首先我们要先了解cookie的工作原理. ...
- java简单的记事本程序_如何用JAVA编写简单的记事本程序?
展开全部 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; i ...
- python 文本翻译 项目_如何用python批量翻译文本?
首先,看一下百度翻译的官方api文档. http://api.fanyi.baidu.com/api/trans/product/apidoc # coding=utf-8 #authority:bi ...
- python编程代码画画_如何用python编写一个绘制马赛克图像的自写程序
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 这篇教程将会展示如何用python的图形化包"Pygame"和基础的文件I/O来创建一 ...
- 如何制作python检查小软件_如何用Python制作整蛊小程序
原标题:如何用Python制作整蛊小程序 下面的整蛊程序,千万不要发代码,否则就实现不了你整蛊的目的了.完成后一定要打包成一个exe程序,再发给朋友使用 . 1. 使用 pip install pyi ...
- python write 写多行_如何用 Python 执行单行命令
一般来说,面对日常处理的一些小任务,直接用 sed,grep 之类的就可以搞定,更复杂一点的就会考虑 awk 或者用一些现成的轮子,要是 awk 搞不定我就只好用 Python 了.但有些时候,我仅仅 ...
- python爬虫抢火车票_如何用python写一个简单的12306抢票软件|python 爬火车票 教程...
python 如果抓取验证码图片 类似12306的登录验证码图片 这个以前做次.最大的麻烦是码的识别算法的识别率太低.12306那种网站登陆错3次就限制你20分钟.所以除非你有33%以上的识别率否则不 ...
- python如何运行py程序_如何用Python汇款:Web3.py教程
Python开发人员对于以太坊和区块链库的技术练习. 警告:下面的教程包含这些元素:显式加密.点对点金融服务以及可能的违规行为.这些例子仅仅是为了说明Python区块链的强大功能和便捷性. 嗨,Pyt ...
最新文章
- svm rbf人脸识别 yale_实操课——机器学习之人脸识别
- R 语言中的高级图像处理包
- 进程注入后门工具Cymothoa
- 服务器文件嗅探,嗅探TFTP配置文件传输
- linux deepin 20.4升级至20.5教程:升级系统和升级内核两个步骤(手动升级deepin内核命令)
- linux中怎么添加附属组,Linux中如何使用附属属组创建文件
- SAP UI5 应用开发教程之四十八 - 如何在 SAP UI5 应用里开发条形码扫描功能试读版
- CRM Mock framework debug
- java. 端序_c代码测试本机处理器的端序
- 包机制、阿里巴巴开发手册
- 计算机主机一闪一闪的无法启动,电脑启动不了灯一闪一闪的
- appium+python自动化51-adb文件导入和导出(pull push)
- MyBatis的环境搭建(图文)
- alexa/alexa-avs-sample-app Windows 安装教程
- Java轻量级缓存Ehcache与SpringBoot整合
- 使用Safari只要打开echarts图表的网址会使Safari未响应
- java 按照拼音排序_java List中元素按照拼音排序
- 人工神经网络——径向基函数(RBF)神经网络
- 关于bili处理视频文件遇到问题记录
- C++基础教学(二)基本数据类型计算
热门文章
- VM下装Ubuntu12.04 启动时出现黑屏
- 学了两个多月软件测试,顺利过了试用期,拿到12K的我很满足了
- 妙健康:数字化精准健康管理平台,提供个性化健康解决方案
- Python 卡方检验
- oracle细粒度(fga)审核
- 问卷调查工具专业排行榜
- 异常行为检测论文学习综述
- Leetcode 1110.删点成林(Delete Nodes And Return Forest)
- 1014 福尔摩斯的约会 (20 分)|一道我认为烂透了的题
- centos7 默认中文字体_如何更换CentOS(Linux)系统默认字体?