失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 利用python写时钟程序_如何用python编写一个番茄钟程序

利用python写时钟程序_如何用python编写一个番茄钟程序

时间:2019-01-01 03:21:43

相关推荐

利用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编写一个番茄钟程序》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。