Hướng dẫn tạo ứng dụng kiểm tra tốc độ đánh máy với Python từ A-Z

Đăng ngày: 20/06/2026 • Tác giả: Quản trị viên
Hướng dẫn tạo ứng dụng kiểm tra tốc độ đánh máy với Python từ A-Z

Hướng dẫn tạo ứng dụng kiểm tra tốc độ đánh máy với Python từ A-Z

Giới thiệu

Trong bài viết này, chúng ta sẽ xây dựng một ứng dụng kiểm tra tốc độ đánh máy bằng Python sử dụng Tkinter. Ứng dụng này sẽ hiển thị một đoạn văn bản ngẫu nhiên, đo thời gian gõ và tính toán số từ mỗi phút (WPM – Words Per Minute).

1. Cấu trúc thư mục dự án

Chúng ta sẽ tổ chức dự án thành các tệp sau:

TypingSpeedTest/
│── main.py          # Tệp chính để chạy ứng dụng
│── gui.py           # Xây dựng giao diện bằng Tkinter
│── test.py          # Xử lý logic kiểm tra tốc độ
│── texts.py         # Chứa các đoạn văn bản mẫu

2. Tạo văn bản mẫu

Tạo tệp texts.py để chứa các đoạn văn bản dùng trong bài kiểm tra.

# texts.py
TEXTS = [
    "Python is an amazing programming language.",
    "Practice makes perfect. Keep typing to improve your speed.",
    "The quick brown fox jumps over the lazy dog."
]

import random

def get_random_text():
    return random.choice(TEXTS)

3. Xử lý logic kiểm tra tốc độ

Tạo tệp test.py để xử lý việc đo thời gian và tính WPM.

# test.py
import time

def calculate_wpm(start_time, end_time, text_entered, original_text):
    elapsed_time = end_time - start_time  # Tính thời gian gõ
    words = len(original_text.split())
    wpm = (words / elapsed_time) * 60  # Số từ mỗi phút
    accuracy = sum(1 for a, b in zip(text_entered, original_text) if a == b) / len(original_text) * 100
    return round(wpm, 2), round(accuracy, 2)

4. Thiết kế giao diện với Tkinter

Tạo tệp gui.py để xây dựng giao diện.

# gui.py
import tkinter as tk
from tkinter import messagebox
import time
import texts
import test

def start_test():
    global start_time, original_text
    original_text = texts.get_random_text()
    text_label.config(text=original_text)
    start_time = time.time()
    entry.delete(0, tk.END)
    entry.focus()

def check_result():
    end_time = time.time()
    text_entered = entry.get()
    wpm, accuracy = test.calculate_wpm(start_time, end_time, text_entered, original_text)
    messagebox.showinfo("Kết quả", f"Tốc độ: {wpm} WPM\nĐộ chính xác: {accuracy}%")

def create_gui(root):
    global text_label, entry
    tk.Label(root, text="Kiểm tra tốc độ đánh máy", font=("Arial", 16)).pack()
    text_label = tk.Label(root, text="", wraplength=400, font=("Arial", 14))
    text_label.pack(pady=10)
    entry = tk.Entry(root, width=50, font=("Arial", 14))
    entry.pack(pady=10)
    tk.Button(root, text="Bắt đầu", command=start_test).pack()
    tk.Button(root, text="Kiểm tra kết quả", command=check_result).pack()

5. Chạy ứng dụng

Tạo tệp main.py để khởi chạy ứng dụng.

# main.py
import tkinter as tk
import gui

root = tk.Tk()
root.title("Kiểm tra tốc độ đánh máy")
gui.create_gui(root)
root.mainloop()

Kết luận

Vậy là chúng ta đã hoàn thành một trình kiểm tra tốc độ đánh máy với Python. Bạn có thể mở rộng thêm tính năng như hiển thị lịch sử kiểm tra, đếm lỗi sai, hoặc thêm chế độ luyện tập để làm ứng dụng hữu ích hơn!

Bài viết liên quan