La vitesse moyenne de frappe est d’environ 40 mots par minute. Si vous voulez être productif dans votre travail, vous devriez viser à taper au moins 65 à 70 mots par minute. En augmentant votre vitesse de frappe, vous améliorerez votre efficacité, ce qui stimulera des tâches telles que la saisie de données, la rédaction, la transcription et les fonctions administratives.


Pour tester vos compétences en dactylographie, vous pouvez créer une application simple de test de dactylographie en utilisant Python. Vous pourrez ainsi obtenir des résultats précis et développer une habitude qui vous permettra de vous améliorer au fil du temps.

Les modules Tkinter et Random

Pour développer le jeu de test de typage, vous utiliserez les modules tkinter et le module aléatoire module. Tkinter vous permet de créer des applications de bureau. Il offre une variété de widgets comme des boutons, des étiquettes, des boîtes de texte et des gestionnaires de mise en page qui facilitent le développement d’applications sans trop d’efforts.

En dehors de cela, il est livré avec des bibliothèques utiles, des objets canvas et des analyseurs HTML/XML/PDF. Pour installer Tkinter dans votre système, ouvrez le terminal et exécutez :

 pip install tkinter 

Le module Random possède une collection de fonctions pour générer des nombres aléatoires. Vous pouvez utiliser ces routines pour produire des séquences mélangées, des mouvements de jeu et des nombres entiers pseudo-aléatoires. Parmi ses utilisations courantes, citons la simulation de jets de dés, le mélange de listes, un générateur de mots de passe aléatoires et des jeux tels que le cricket et la devinette.

Comment créer une application de test de typage en utilisant Python

Suivez ces étapes pour créer une application de test de typage en utilisant le module Tkinter et Random de Python.

Lire  Boostez Votre Anonymat sur iPhone : Les Meilleurs VPN pour iOS en 2025

Vous pouvez trouver le code source de Typing Test App Using Python et le fichier texte des mots dans ce dépôt GitHub.

Commencez par importer le module Tkinter et le module Random. Initialisez l’instance de Tkinter et affichez la fenêtre racine. Définissez les dimensions en pixels, le titre, et la couleur de fond de la fenêtre.

 from tkinter import *
import random
from tkinter import messagebox

Mainscreen = Tk()
Mainscreen.geometry('1000x600')
Mainscreen.title('MakeUseOf Typing Game')
Mainscreen.config(bg="aqua")

Téléchargez la liste des mots depuis le dépôt GitHub et placez-la dans le même dossier que le script Python pour faciliter le référencement. Lisez le contenu du fichier texte et utilisez la fonction split() pour stocker chaque mot dans une liste. Initialisez les variables score, missed et count1 à zéro et la variable time à 60.

 file1 = open('words.txt', 'r')
words = file1.read().split()
score = missed = count1 = 0
time = 60

Définissez une fonction nommée giventime() qui fait référence aux variables globales mentionnées ci-dessus. Si le temps restant est supérieur à zéro, décrémentez-le de un et affichez-le sur l’étiquette timercount (déclarée dans la dernière moitié du code). Utilisez la fonction after() pour rappeler la fonction giventime() après un délai de 1 000 millisecondes (une seconde).

Si le temps est écoulé, changez le contenu du startlabel en Game Over et affichez simultanément le score sur le label gameinstruction. Passez les variables correspondantes à la fonction format() pour afficher le nombre de coups réussis, de coups manqués et le score total.

 def giventime():
    global time, score, missed

    if time > 0:
        time -= 1
        timercount.configure(text=time)
        timercount.after(1000, giventime)
    else:
        startlabel.configure(text='Game Over!')
        gameinstruction.configure(text='Hit = {} | Miss = {} | Total Score = {}'.format(score, missed, score - missed))

Passez le titre et le message à la fonction askokcancel() fonction. Si la réponse reçue sur la boîte de dialogue évalue à true, arrêtez l’application en utilisant la fonction exit() fonction.

         rr = messagebox.askokcancel('Game Over!', 'Press Ok to Exit')

        if rr == True:
            exit()

Définir une fonction nommée game() qui prend l’événement comme argument d’entrée. Référencez les variables globales. Si la variable time est égale à 60, exécutez la fonction giventime() pour lancer le compte à rebours. Lorsque le jeu est en cours, changez l’étiquette de départ en Continue et l’étiquette d’instruction de jeu en appuyant sur la touche Entrée après avoir tapé le mot en utilisant la fonction configure().

 def game(event):
    global score, missed

    if time == 60:
        giventime()

    startlabel.configure(text='Continue..')
    gameinstruction.configure(text='Hit Enter After Typing The Word')

Récupérez le mot tapé dans wordentry en utilisant la fonction get() et vérifie si elle est égale au mot affiché à l’écran. Si oui, incrémentez le score et indiquez-le sur l’étiquette de score. Sinon, incrémenter la variable manquée de un.

Lire  Les 6 meilleurs Patreons offrant des cartes de combat D&D gratuites

Réorganisez les éléments de la liste de mots et affichez le premier élément. Utilisez la fonction delete() de l’index zéro au dernier index du widget wordentry pour effacer le contenu.

     if wordentry.get() == labelforward['text']:
        score += 1
        scorelabelcount.configure(text=score)
    else:
        missed += 1

    random.shuffle(words)
    labelforward.configure(text=words[0])
    wordentry.delete(0, END)

Définissez le startlabel, labelforward, scorelabel, scorelabelcount, labelfortimer, timercount et gameinstruction à l’aide du widget Label. Le widget Label prend en compte la fenêtre parent dans laquelle vous souhaitez le placer, le texte qu’il doit afficher, le type, la taille, la couleur et le style de la police, ainsi que la couleur de fond du label.

Passez les coordonnées X et Y à la fonction place() pour organiser les étiquettes à une position spécifique.

 startlabel = Label(Mainscreen,text='Typing Game',font=('arial',30,'italic bold'),bg='black',fg='white')
startlabel.place(x=375, y=50)

labelforward = Label(Mainscreen,text=' ',font=('arial',45,'italic bold'),fg='green')
labelforward.place(x=350, y=240)

scorelabel = Label(Mainscreen,text='Your Score:',font=('arial',25,'italic bold'),fg='maroon')
scorelabel.place(x=110, y=100)

scorelabelcount = Label(Mainscreen,text=score,font=('arial',25,'italic bold'),fg='purple')
scorelabelcount.place(x=250, y=180)

labelfortimer = Label(Mainscreen,text='Time Left:',font=('arial',25,'italic bold'),fg='maroon')
labelfortimer.place(x=700, y=100)

timercount = Label(Mainscreen,text=time,font=('arial',25,'italic bold'),fg='purple')
timercount.place(x=700, y=180)

gameinstruction = Label(Mainscreen,text='Hit Enter After Typing The Word',font=('arial',25,'italic bold'),fg='grey')
gameinstruction.place(x=250, y=500)

Définissez un widget d’entrée qui accepte le mot que vous tapez. Définissez la fenêtre parent dans laquelle vous souhaitez le placer, le type, la taille et le style de la police ainsi que la taille de la bordure et la propriété justify. Utilisez la méthode place() pour positionner le widget d’entrée et la propriété justify. focus_set() méthode permettant d’activer la zone de saisie pour l’entrée.

 wordentry = Entry(Mainscreen, font=('arial',25,'italic bold'), bd=10, justify='center')
wordentry.place(x=350, y=330)
wordentry.focus_set()

Une étape importante est de lier la touche Entrée avec un événement dans la fenêtre Tkinter. Ainsi, lorsque le joueur appuie sur la touche Enter une fonction particulière s’exécuterait. Pour ce faire, vous passez la chaîne de caractères <Return&gt ; et la fonction game() comme paramètres à la fonction bind() fonction. Le site mainloop() indique à Python d’exécuter la boucle d’événements de Tkinter et d’écouter les événements (comme les pressions sur les boutons) jusqu’à ce que vous fermiez la fenêtre.

 Mainscreen.bind('<Return>', game)
mainloop()

Assemblez tout le code et exécutez le code pour jouer au jeu du test de frappe du bout des doigts.

Résultat de l’application de test de typage Python

En exécutant le programme ci-dessus, une fenêtre de 1000 pixels de large et 600 pixels de haut apparaît, avec une couleur de fond aqua, un tableau des scores, un compte à rebours, et une instruction pour commencer le jeu.

Ecran de démarrage du jeu de dactylographie Python

En appuyant sur Entrée, le jeu commence et à chaque bonne réponse, le programme incrémente le score d’une unité.

Écran du jeu de dactylographie Python en cours

Lorsque le temps est écoulé, le programme affiche le score final ainsi qu’une boîte de dialogue permettant de quitter le jeu.

Jeu de dactylographie Python Game Over Screen

Idées d’interface graphique Tkinter pour les débutants

Tkinter est un outil très puissant que vous pouvez utiliser pour construire des applications simples ou entièrement fonctionnelles qui sont attrayantes et robustes. Même un débutant peut utiliser Tkinter. Quelques exemples de projets que vous pouvez construire sont un jeu de quiz, un carnet d’adresses, une liste de choses à faire, ou un visualisateur d’images.

Si vous voulez aller au-delà de Tkinter, quelques alternatives populaires incluent Qt designer, Kivy, Toga, et BeeWare. Tous ces frameworks sont polyvalents et prennent en charge le développement multiplateforme, de sorte que vous pouvez exécuter vos applications sans problème dans n’importe quel environnement.