You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:45:04