如何用Python实现计时器用于打字速度测试项目
Python打字速度测试项目计时功能实现方案
Python标准库自带的高精度计时接口完全可以满足需求,不需要引入第三方依赖,以下是可直接适配两项打字任务的实现方案:
可运行完整代码
import time import random def typing_task_timer(task_name: str, target_content: str) -> float: """ 通用打字任务计时函数 :param task_name: 任务名称,用于提示用户 :param target_content: 用户需要输入的目标内容 :return: 完成任务的耗时(单位:秒) """ # 任务提示 print(f"\n=== 任务:{task_name} ===") print(f"请输入以下内容,输入完成后按回车:\n{target_content}\n") # 等待用户准备好再启动计时 input("按下回车开始计时,输入完成后立刻按回车结束:") # 计时开始 start_time = time.perf_counter() user_input = input() # 计时结束 end_time = time.perf_counter() # 校验输入正确性 if user_input.strip() == target_content: cost_time = round(end_time - start_time, 2) print(f"输入正确!本次耗时:{cost_time} 秒") return cost_time else: print("输入错误,本次成绩无效") return 0.0 if __name__ == "__main__": # 第一项任务:输入完整字母表 target_alphabet = "abcdefghijklmnopqrstuvwxyz" typing_task_timer("快速输入完整字母表", target_alphabet) # 第二项任务:输入随机排序的单词 word_list = ["cat", "dog", "apple", "book", "tree", "pen", "milk", "phone"] random.shuffle(word_list) target_words = " ".join(word_list) typing_task_timer("快速输入随机单词组", target_words)
核心说明
- 计时接口选用
time.perf_counter()而非普通的time.time():前者是系统级高精度短耗时计时器,不受系统时间调整的影响,统计打字这类秒级耗时的场景精度更高 - 通用函数封装:两项打字任务都复用同一个计时逻辑,后续新增任务只需要传入任务名和目标内容即可
- 内置输入校验:只有用户输入和目标内容完全匹配才会统计有效耗时,避免生成无效成绩
内容的提问来源于stack exchange,提问作者Ben Collins
相关产品推荐
相关产品推荐

