Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

La velocidad de escritura promedio es de alrededor de 40 palabras por minuto. Si desea ser productivo en su trabajo, debe tratar de escribir al menos de 65 a 70 palabras por minuto. Aumentar su velocidad de escritura mejorará su eficiencia, lo que impulsará tareas como la entrada de datos, la redacción de textos publicitarios, la transcripción y las funciones administrativas.

Para probar sus habilidades de mecanografía, puede crear una aplicación de prueba de mecanografía simple usando Python. Con esto, puede obtener resultados precisos y desarrollar un hábito adictivo para mejorar con el tiempo.

Los módulos Tkinter y Random

Para desarrollar el juego de prueba de mecanografía, utilizará el tkinter módulo y el aleatorio módulo. Tkinter te permite crear aplicaciones de escritorio. Ofrece una variedad de widgets como botones, etiquetas, cuadros de texto y administradores de diseño que facilitan el desarrollo de aplicaciones sin demasiado esfuerzo.

instagram viewer

Aparte de estos, viene con bibliotecas útiles, objetos de lienzo y analizadores HTML/XML/PDF. Para instalar Tkinter en su sistema, abra la terminal y ejecute:

pepita instalar tkinter

El módulo Random tiene una colección de funciones para generar números aleatorios. Puede usar estas rutinas para producir secuencias aleatorias, movimientos de juego y números enteros pseudoaleatorios. Algunos de sus usos comunes incluyen la simulación de tiradas de dados, barajar listas, un generador de contraseñas aleatorias, y en juegos como grillo de mano y adivinanzas de números.

Cómo construir una aplicación de prueba de escritura usando Python

Siga estos pasos para crear una aplicación de prueba de escritura utilizando el módulo Tkinter y Random de Python.

Puede encontrar el código fuente de Typing Test App usando Python y el archivo de texto de Word en este repositorio GitHub.

Comience importando Tkinter y el módulo Random. Inicialice la instancia de Tkinter y muestre la ventana raíz. Establezca las dimensiones en píxeles, el título y el color de fondo de la ventana.

de tkinter importar *
importar aleatorio
de tkinter importar buzon de mensaje

Pantalla principal = Tk()
Pantalla principal.geometría('1000x600')
Pantalla principal.título('Juego de escribir MakeUseOf')
Pantalla principal.config(bg="agua")

Descargue la lista de palabras del repositorio de GitHub y colóquela en la misma carpeta que el script de Python para facilitar la referencia. Lea el contenido del archivo de texto y use la función split() para almacenar cada palabra en una lista. Inicialice las variables de puntuación, perdida y cuenta 1 en cero y la variable de tiempo en 60.

archivo1 = abrir ('palabras.txt', 'r')
palabras = archivo1.leer().dividir()
puntuación = perdido = cuenta1 = 0
tiempo = 60

Defina una función llamada tiempo dado() que hace referencia a las variables globales mencionadas anteriormente. Si el tiempo restante es mayor que cero, disminúyalo en uno y muéstrelo en la etiqueta timercount (declarada en la última mitad del código). Utilizar el después() función para volver a llamar a la función de tiempo dado () después de un retraso de 1.000 milisegundos (un segundo).

Si se acabó el tiempo, cambie el contenido de la etiqueta de inicio a Fin del juego y, al mismo tiempo, muestre la puntuación en la etiqueta de instrucciones del juego. Pasar las variables correspondientes al formato() función para mostrar los aciertos, errores y la puntuación total.

definitivamentetiempo dado():
global tiempo, puntuación, perdido

si tiempo > 0:
tiempo -= 1
timercount.configure (texto=tiempo)
contador de tiempo.después(1000, tiempo dado)
demás:
etiqueta de inicio.configure (texto='¡Juego terminado!')
gameinstruction.configure (texto='Golpear = {} | Señorita = {} | Puntuación total = {}'.format (puntaje, perdido, puntaje - perdido))

Pasar el título y el mensaje al preguntarokcancelar() función. Si la respuesta recibida en el cuadro de diálogo se evalúa como verdadera, detenga la aplicación usando el salida() función.

 rr = cuadromensaje.preguntarcancel('¡Juego terminado!', 'Presione Ok para Salir')

si == Verdadero:
salida()

Defina una función llamada juego() que toma el evento como un argumento de entrada. Haga referencia a las variables globales. Si la variable de tiempo es igual a 60, ejecute la función Giventime() para comenzar la cuenta regresiva. A medida que el juego está en progreso, cambie la etiqueta de inicio a Continuar y la etiqueta de instrucción del juego para presionar enter después de escribir la palabra usando la función configure().

definitivamentejuego(evento):
global anotar, fallado

si el tiempo == 60:
tiempo dado()

etiqueta de inicio.configure (texto='Continuar..')
gameinstruction.configure (texto='Presiona Enter después de escribir la palabra')

Recupere la palabra escrita en wordentry usando el conseguir() función y verifique si es igual a la palabra que se muestra en la pantalla. En caso afirmativo, incremente la puntuación y refléjela en la etiqueta de puntuación. De lo contrario, incremente la variable perdida en uno.

Reordene los elementos de la lista de palabras y muestre el primer elemento. Utilizar el borrar() función desde el cero hasta el último índice en el widget de entrada de palabras para borrar el contenido.

si entradapalabra.get() == etiquetareenviar['texto']:
puntuación += 1
scorelabelcount.configure (texto=puntuación)
demás:
perdido += 1

aleatorio.barajar(palabras)
labelforward.configure (texto=palabras[0])
entrada de palabra.borrar(0, FIN)

Establezca la etiqueta de inicio, la etiqueta hacia adelante, la etiqueta de puntaje, el conteo de etiquetas de puntaje, la etiqueta para el temporizador, el conteo del temporizador y la instrucción del juego usando el widget Etiqueta. El widget de etiqueta toma la ventana principal en la que desea colocarlo, el texto que debe mostrar, el tipo de fuente, el tamaño, el color y el estilo junto con el color de fondo de la etiqueta.

Pase las coordenadas X e Y al lugar() método para organizar las etiquetas en una posición específica.

startlabel = Etiqueta (Pantalla principal, texto='Juego de mecanografía',fuente=('arial',30,'cursiva negrita'),bg='negro',fg='blanco')
etiqueta de inicio.lugar (x=375, y=50)

labelforward = Etiqueta (Pantalla principal, texto=' ',fuente=('arial',45,'cursiva negrita'),fg='verde')
etiquetadelantero.lugar (x=350, y=240)

scorelabel = Etiqueta (Pantalla principal, texto='Tu puntuación:',fuente=('arial',25,'cursiva negrita'),fg='granate')
puntuaciónetiqueta.lugar (x=110, y=100)

scorelabelcount = Etiqueta (Pantalla principal, text=score, font=('arial',25,'cursiva negrita'),fg='púrpura')
scorelabelcount.place (x=250, y=180)

labelfortimer = Etiqueta (Pantalla principal, texto='Tiempo restante:',fuente=('arial',25,'cursiva negrita'),fg='granate')
etiquetaparatemporizador.lugar (x=700, y=100)

timercount = Etiqueta (Pantalla principal, texto=tiempo, fuente=('arial',25,'cursiva negrita'),fg='púrpura')
timercount.place (x=700, y=180)

gameinstruction = Etiqueta (Pantalla principal, texto ='Presiona Enter después de escribir la palabra',fuente=('arial',25,'cursiva negrita'),fg='gris')
gameinstruction.place (x=250, y=500)

Defina un widget de entrada que acepte la palabra que escriba. Establezca la ventana principal en la que desea colocarlo, el tipo de fuente, el tamaño, el estilo junto con el tamaño del borde y la propiedad de justificación. Use el método place() para colocar el widget de entrada y el focus_set() método para activar el cuadro de entrada para la entrada.

palabraentrada = Entrada (Pantalla principal, fuente=('arial',25,'cursiva negrita'), bd=10, justificar ='centro')
palabraentrada.lugar (x=350, y=330)
entrada de palabra.focus_set()

Un paso importante es vincular la tecla Intro con un evento en la ventana de Tkinter. Si lo hace, se asegurará de que cuando el jugador presione Ingresar se ejecutaría una función particular. Para lograr esto, pasa el string y la función game() como parámetros para el unir() función. El bucle principal() La función le dice a Python que ejecute el ciclo de eventos de Tkinter y escuche los eventos (como presionar un botón) hasta que cierre la ventana.

Pantalla principal.bind('', juego)
bucle principal()

Reúna todo el código y ejecútelo para jugar el juego de prueba de mecanografía al alcance de su mano.

Salida de la aplicación de prueba de escritura de Python

Al ejecutar el programa anterior, aparece una ventana de 1000 píxeles de ancho y 600 píxeles de alto, con un fondo de color aguamarina, un marcador, un temporizador de cuenta regresiva y una instrucción para comenzar el juego.

Al presionar Enter, el juego comienza y en cada respuesta correcta el programa incrementa la puntuación en uno.

Cuando se acaba el tiempo, el programa muestra la puntuación final junto con un cuadro de diálogo para salir del juego.

Ideas de interfaz gráfica de usuario de Tkinter para principiantes

Tkinter es una herramienta muy poderosa que puede usar para crear aplicaciones simples o completamente funcionales que sean atractivas y robustas. Incluso un novato puede usar Tkinter. Algunos proyectos de muestra que puede crear son un juego de preguntas, una libreta de direcciones, una lista de tareas pendientes o un visor de imágenes.

Si desea ir más allá de Tkinter, algunas de las alternativas populares incluyen Qt designer, Kivy, Toga y BeeWare. Todos estos marcos son versátiles y admiten el desarrollo multiplataforma, por lo que puede ejecutar sus aplicaciones sin problemas en cualquier entorno.