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

本文介绍了如何使用Python的winsound、tkinter和time库来创建一个简单的番茄钟程序。通过winsound发出声音提示,tkinter的messagebox进行用户交互,time库进行计时,实现了25分钟工作时间和5分钟休息时间的循环。最后提到了为了减小程序体积,可以从库中仅导入所需函数。
摘要由CSDN通过智能技术生成

今天,我们尝试用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程序。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值