I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

La velocità media di battitura è di circa 40 parole al minuto. Se vuoi essere produttivo nel tuo lavoro, dovresti mirare a digitare almeno da 65 a 70 parole al minuto. Aumentare la velocità di digitazione migliorerà la tua efficienza, il che aumenterà attività come l'immissione di dati, il copywriting, la trascrizione e i ruoli amministrativi.

Per testare le tue capacità di digitazione, puoi creare una semplice applicazione di test di digitazione utilizzando Python. Usando questo, puoi ottenere risultati precisi e sviluppare un'abitudine che crea dipendenza per migliorare nel tempo.

I moduli Tkinter e Random

Per sviluppare il Typing Test Game, utilizzerai il file tkinter modulo e il casuale modulo. Tkinter ti consente di creare applicazioni desktop. Offre una varietà di widget come pulsanti, etichette, caselle di testo e gestori di layout che semplificano lo sviluppo di applicazioni senza troppi sforzi.

instagram viewer

Oltre a questi, viene fornito con utili librerie, oggetti canvas e parser HTML/XML/PDF. Per installare Tkinter nel tuo sistema, apri il terminale ed esegui:

pippo installare tkinter

Il modulo Random ha una raccolta di funzioni per la generazione di numeri casuali. È possibile utilizzare queste routine per produrre sequenze mescolate, movimenti di gioco e numeri interi pseudo-casuali. Alcuni dei suoi usi comuni includono la simulazione di tiri di dadi, liste mescolate, a generatore di password casuali, e in giochi come grillo a mano e indovinare il numero.

Come creare un'app di test di digitazione utilizzando Python

Segui questi passaggi per creare un'applicazione di test di digitazione usando il modulo Tkinter e Random di Python.

Puoi trovare il codice sorgente di Typing Test App Using Python e il file di testo di parole in questo Deposito GitHub.

Inizia importando Tkinter e il modulo Random. Inizializza l'istanza Tkinter e visualizza la finestra principale. Imposta le dimensioni in pixel, il titolo e il colore di sfondo della finestra.

da tkinter importare *
importare casuale
da tkinter importare casella dei messaggi

Schermata principale = Tk()
Mainscreen.geometry('1000x600')
Schermata principale.titolo("MakeUseOf gioco di digitazione")
Mainscreen.config(bg="acqua")

Scarica l'elenco di parole dal repository GitHub e inseriscilo nella stessa cartella dello script Python per un facile riferimento. Leggi il contenuto del file di testo e usa la funzione split() per memorizzare ogni parola in un elenco. Inizializza le variabili score, miss e count1 a zero e la variabile time a 60.

file1 = apri('parole.txt', 'R')
parole = file1.read().split()
punteggio = mancato = conteggio1 = 0
tempo = 60

Definire una funzione denominata tempo a disposizione() che fa riferimento alle variabili globali menzionate sopra. Se il tempo rimanente è maggiore di zero, decrementalo di uno e visualizzalo sull'etichetta timercount (dichiarata nella seconda metà del codice). Usa il Dopo() function per richiamare la funzione giventime() dopo un ritardo di 1.000 millisecondi (un secondo).

Se il tempo è scaduto, cambia il contenuto dell'etichetta iniziale in Game Over e contemporaneamente visualizza il punteggio sull'etichetta delle istruzioni di gioco. Passa le variabili corrispondenti al file formato() funzione per visualizzare Hit, Miss e il punteggio totale.

deftempo a disposizione():
globale tempo, punteggio, mancato

se tempo > 0:
tempo -= 1
timercount.configure (testo=tempo)
timercount.Dopo(1000, tempo a disposizione)
altro:
startlabel.configure (testo='Game Over!')
gameinstruction.configure (testo='Hit = {} | Signorina = {} | Punteggio totale = {}'.format (punteggio, mancato, punteggio - mancato))

Passa il titolo e il messaggio al file chiediokannulla() funzione. Se la risposta ricevuta nella finestra di dialogo restituisce true, arrestare l'applicazione utilizzando il Uscita() funzione.

 rr = messagebox.askokcancel('Game Over!', 'Premi Ok per uscire')

Se rr == VERO:
Uscita()

Definire una funzione denominata gioco() che accetta l'evento come argomento di input. Fare riferimento alle variabili globali. Se la variabile time è uguale a 60, esegui la funzione giventime() per iniziare il conto alla rovescia. Mentre il gioco è in corso, cambia la startlabel in Continue e l'etichetta gameinstruction in premi invio dopo aver digitato la parola usando la funzione configure().

defgioco(evento):
globale punteggio, mancato

se tempo == 60:
tempo a disposizione()

startlabel.configure (testo='Continua..')
gameinstruction.configure (testo="Premi Invio dopo aver digitato la parola")

Recuperare la parola digitata in wordentry utilizzando il Ottenere() funzione e controllare se è uguale alla parola visualizzata sullo schermo. Se sì, incrementa il punteggio e riportalo sull'etichetta del punteggio. In caso contrario, incrementa di uno la variabile mancante.

Riordina gli elementi nell'elenco delle parole e visualizza il primo elemento. Usa il eliminare() funzione dallo zero all'ultimo indice sul widget wordentry per cancellare il contenuto.

Se wordentry.get() == labelforward['testo']:
punteggio += 1
scorelabelcount.configure (testo=punteggio)
altro:
mancato += 1

casuale.shuffle(parole)
labelforward.configure (testo=parole[0])
wordentry.eliminare(0, FINE)

Impostare startlabel, labelforward, scorelabel, scorelabelcount, labelfortimer, timercount e gameinstruction utilizzando il widget Etichetta. Il widget dell'etichetta prende nella finestra principale in cui vuoi posizionarlo, il testo che dovrebbe visualizzare, il tipo di carattere, la dimensione, il colore e lo stile insieme al colore di sfondo dell'etichetta.

Passa le coordinate X e Y al file posto() metodo per organizzare le etichette in una posizione specifica.

startlabel = Etichetta (schermata principale, text="Gioco di battitura",carattere=('ariale',30,'corsivo grassetto'),bg='nero',fg='bianco')
startlabel.place (x=375, y=50)

labelforward = Etichetta (schermata principale, testo=' ',carattere=('ariale',45,'corsivo grassetto'),fg='verde')
labelforward.place (x=350, y=240)

scorelabel = Etichetta (Schermata principale, testo='Il tuo punteggio:',carattere=('ariale',25,'corsivo grassetto'),fg='marrone')
scorelabel.place (x=110, y=100)

scorelabelcount = Etichetta (Schermata principale, text=punteggio, font=('ariale',25,'corsivo grassetto'),fg='viola')
scorelabelcount.place (x=250, y=180)

labelfortimer = Etichetta (schermata principale, testo='Tempo rimasto:',carattere=('ariale',25,'corsivo grassetto'),fg='marrone')
etichettafortimer.place (x=700, y=100)

timercount = Etichetta (Schermata principale, testo=ora, carattere=('ariale',25,'corsivo grassetto'),fg='viola')
timercount.place (x=700, y=180)

gameinstruction = Etichetta (Schermata principale, text="Premi Invio dopo aver digitato la parola",carattere=('ariale',25,'corsivo grassetto'),fg='grigio')
gameinstruction.place (x=250, y=500)

Definire un widget di immissione che accetti la parola digitata. Imposta la finestra principale in cui desideri inserirla, il tipo di carattere, la dimensione, lo stile insieme alla dimensione del bordo e la proprietà justify. Utilizzare il metodo place() per posizionare il widget di immissione e il file focus_set() metodo per attivare la casella di immissione per l'input.

wordentry = Entry (Schermata principale, font=('ariale',25,'corsivo grassetto'), bd=10, giustificare='centro')
wordentry.place (x=350, y=330)
wordentry.focus_set()

Un passaggio importante consiste nell'associare il tasto Invio a un evento nella finestra di Tkinter. In questo modo si garantisce che quando il giocatore preme accedere verrebbe eseguita una particolare funzione. Per raggiungere questo obiettivo, si passa il string e la funzione game() come parametri per il legamento() funzione. IL ciclo principale() La funzione dice a Python di eseguire il ciclo di eventi di Tkinter e di ascoltare gli eventi (come la pressione di un pulsante) finché non chiudi la finestra.

Mainscreen.bind('', gioco)
ciclo principale()

Metti insieme tutto il codice ed esegui il codice per giocare al gioco di test di battitura a portata di mano.

Output dell'app di test di digitazione Python

Eseguendo il programma sopra, appare una finestra larga 1.000 pixel e alta 600 pixel, con un colore di sfondo color acqua, un tabellone segnapunti, un conto alla rovescia e un'istruzione per iniziare il gioco.

Premendo Invio inizia il gioco e ad ogni risposta corretta il programma incrementa il punteggio di uno.

Quando il tempo è scaduto, il programma visualizza il punteggio finale insieme a una finestra di dialogo per uscire dal gioco.

Idee GUI Tkinter per principianti

Tkinter è uno strumento molto potente che puoi utilizzare per creare applicazioni da semplici a completamente funzionali che siano attraenti e robuste. Anche un principiante può usare Tkinter. Alcuni progetti di esempio che puoi creare sono un gioco a quiz, una rubrica, un elenco di cose da fare o un visualizzatore di immagini.

Se vuoi andare oltre Tkinter, alcune delle alternative popolari includono Qt designer, Kivy, Toga e BeeWare. Tutti questi framework sono versatili e supportano lo sviluppo multipiattaforma, quindi puoi eseguire le tue applicazioni senza problemi in qualsiasi ambiente.