如何在Python中实现计时器或倒计时功能?
Python 实现计时器的两种常用方案
一、统计完成题目的总时长
用标准库time的time()函数记录起止时间,计算差值即可:
import time # 记录开始时间 start = time.time() # 替换为实际的题目交互逻辑 user_answer = input("请输入你的答案:") # 计算并打印总用时 elapsed = time.time() - start print(f"完成题目共用时:{elapsed:.2f}秒")
二、实现倒计时功能
同样基于time模块,结合sleep()和行内刷新实现动态倒计时:
import time def countdown(limit): for sec in range(limit, 0, -1): # \r 实现覆盖当前行输出,end=''避免自动换行 print(f"倒计时:{sec}秒", end='\r') time.sleep(1) print("\n时间到!") # 调用5秒倒计时 countdown(5)
结合题目场景的倒计时交互
如果要在倒计时内接收用户输入,基础版可以用signal模块实现输入超时(Windows下需注意兼容性):
import time import signal def timeout_handler(*args): raise TimeoutError def timed_task(question, time_limit): print(question) start = time.time() signal.signal(signal.SIGALRM, timeout_handler) signal.alarm(time_limit) try: answer = input("请输入答案:") signal.alarm(0) # 取消超时 print(f"答案提交成功,用时:{time.time()-start:.2f}秒") except TimeoutError: print("\n时间到,未完成答题!") # 示例:5秒内回答问题 timed_task("请说出Python的官方网站域名:", 5)
内容的提问来源于stack exchange,提问作者Luiza
相关产品推荐
相关产品推荐

