返回介绍

15.9 项目:简单的倒计时程序

发布于 2024-01-22 21:44:06 字数 2067 浏览 0 评论 0 收藏 0

就像很难找到一个简单的秒表应用程序一样,也很难找到一个简单的倒计时程序。让我们来写一个倒计时程序,在倒计时结束时报警。

总的来说,程序要做到:

· 从60倒数。

· 倒数至0时播放声音文件(alarm.wav)。

这意味着代码将需要做到以下几点:

· 在显示倒计时的每个数字之间,调用time.sleep()暂停一秒。

· 调用subprocess.Popen(),用默认的应用程序播放声音文件。

打开一个新的文件编辑器窗口,并保存为countdown.py。

第1步:倒计时

这个程序需要time模块的time.sleep()函数,subprocess模块的subprocess. Popen()函数。输入以下代码并保存为countdown.py:

 #! python3
 # countdown.py - A simple countdown script.

 import time, subprocess

❶ timeLeft = 60
 while timeLeft > 0:
❷      print(timeLeft, end='')
❸      time.sleep(1)
❹      timeLeft = timeLeft - 1

 # TODO: At the end of the countdown, play a sound file.

导入time和subprocess后,创建变量timeleft,保存倒计时剩下的秒数❶。它从60开始,或者可以根据需要更改这里的值,甚至通过命令行参数设置它。

在while循环中,显示剩余次数❷,暂停一秒钟❸,再减少timeleft变量的值❹,然后循环再次开始。只要timeleft大于0,循环就继续。在这之后,倒计时就结束了。

第2步:播放声音文件

虽然有第三方模块,播放各种声音文件,但快速而简单的方法,是启动用户使用的任何播放声音文件的应用程序。操作系统通过.wav文件扩展名,会弄清楚应该启动哪个应用程序来播放该文件。这个.wav文件很容易变成其他声音文件格式,如.mp3或.ogg。

可以使用计算机上的任何声音文件,在倒计时结束播放,也可以从http://nostarch. com/automatestuff/下载alarm.wav

在程序中添加以下代码:

#! python3
# countdown.py - A simple countdown script.

import time, subprocess

--snip--

# At the end of the countdown, play a sound file.
subprocess.Popen(['start', 'alarm.wav'], shell=True)

while循环结束后,alarm.wav(或你选择的声音文件)将播放,通知用户倒计时结束。在Windows上,要确保传入Popen()的列表中包含'start',并传入关键字参数shell=True。在OS X上,传入'open',而不是'start’,并去掉shell=True。

除了播放声音文件之外,你可以在一个文本文件中保存一条消息,例如Break time is over!。然后在倒计时结束时用Popen()打开它。这实际上创建了一个带消息的弹出窗口。或者你可以在倒计时结束时,用webbrowser.open()函数打开特定网站。不像在网上找到的一些免费倒计时应用程序,你自己的倒计时程序的警报可以是任何你希望的方式!

第3步:类似程序的想法

倒计时是简单的延时,然后继续执行程序。这也可以用于其他应用程序和功能,诸如:

· 利用time.sleep()给用户一个机会,按下Ctrl-C取消的操作,例如删除文件。你的程序可以打印“Press Ctrl-C to cancel”,然后用try和except语句处理所有KeyboardInterrupt异常。

· 对于长期的倒计时,可以用timedelta对象来测量直到未来某个时间点(生日?周年纪念?)的天、时、分和秒数。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文