实现统计正确输入耗时的秒表:Python可用模块咨询
Python实现打字速度测试器的计时方案
你完全可以用Python内置的time模块来实现这个需求,它足够轻量且能满足你的计时需求,不需要额外安装第三方库。你之前尝试的timer应该是指threading.Timer,那是用来执行定时任务的,不是用来统计耗时的,所以不适合你的场景。
核心实现思路
- 在用户开始输入前记录起始时间
- 获取用户输入并验证内容是否正确
- 输入正确时记录结束时间,计算两者的差值就是耗时
完整代码示例
import time def typing_speed_test(): # 定义测试文本 target_text = "The quick brown fox jumps over the lazy dog" print("准备好后按回车开始输入,输入完成后按回车结束:") input("按下回车开始...") # 记录起始时间(perf_counter精度更高,适合短时间计时) start_time = time.perf_counter() user_input = input(f"请输入:\n{target_text}\n") # 记录结束时间 end_time = time.perf_counter() # 验证输入是否正确 if user_input.strip() == target_text.strip(): elapsed_time = end_time - start_time # 计算打字速度(单词数/分钟) word_count = len(target_text.split()) wpm = round((word_count / elapsed_time) * 60, 2) print(f"输入正确!耗时:{elapsed_time:.2f} 秒,打字速度:{wpm} 词/分钟") else: print("输入内容不正确,请重新尝试!") if __name__ == "__main__": typing_speed_test()
细节说明
time.perf_counter()专门用于测量短时间性能,精度比time.time()更高,适合打字计时这类场景,用法和time.time()完全一致- 用
strip()忽略首尾空格差异是为了让验证更人性化,你可以根据需求调整严格程度 - 计时逻辑完全围绕输入流程展开,只在用户完成正确输入后统计耗时,符合你的需求
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

