如何在指定时间点到达时显示文本?
在Python倒计时代码中添加指定时间点触发文本功能
你可以通过在倒计时循环中检查当前剩余时间是否匹配目标时间点,来实现到达指定时间时显示文本的功能。以下是修改后的代码:
import time def countdown(time_sec): # 目标触发时间:30秒整,转换为代码中的计数单位(每100ms为1个单位) target_msec = 30 * 10 time_msec = time_sec * 10 while time_msec: mins, secs = divmod(time_msec, 600) secs, msecs = divmod(secs, 10) timeformat = "{:02d}:{:02d}.{:01d}".format(mins, secs, msecs) print(timeformat, end='\r') # 检查是否到达目标时间点,触发一次文本显示 if time_msec == target_msec: # 换行避免被后续的倒计时覆盖,输出指定内容 print("\n到达0:30.0!显示自定义文本") time.sleep(1/10) time_msec -= 1 print("\nstop") countdown(61)
关键说明
- 先将目标时间(30秒)转换为和代码一致的计数单位(
30*10,因代码每100ms递减1) - 每次循环时检查当前剩余时间的计数是否等于目标值,匹配时输出指定文本
- 用
\n换行保证文本不会被后续的end='\r'覆盖,确保内容正常显示 - 由于每个时间计数只会出现一次,所以文本只会触发显示一次
内容的提问来源于stack exchange,提问作者MThien
相关产品推荐
相关产品推荐

