How To Make Typing Speed Test In Python

 


 In this post, we are going to make the typing speed test using Python. We need to install the tkinter and timeit if you don't know how to install these modules don't worry I will help you type "pip install tkintertable" and "pip install pytest-timeit" in the command prompt or terminal.

Here is the code:

# importing all libraries
from tkinter import *
from timeit import default_timer as timer
import random

# creating window using gui
window = Tk()

# the size of the window is defined
window.geometry("450x200")

x = 0

# defining the function for the test
def game():
	global x

	# loop for destroying the window
	# after on test
	if x == 0:
		window.destroy()
		x = x+1

	# defining function for results of test
	def check_result():
		if entry.get() == words[word]:

			# here start time is when the window
			# is opened and end time is when
			# window is destroyed
			end = timer()

			# we deduct the start time from end
			# time and calculate results using
			# timeit function
			print(end-start)
		else:
			print("Wrong Input")

	words = ['programming', 'coding', 'algorithm',
			'systems', 'python', 'software', 'anmol']

	# Give random words for testing the speed of user
	word = random.randint(0, (len(words)-1))

	# start timer using timeit function
	start = timer()
	windows = Tk()
	windows.geometry("450x200")

	# use label method of tkinter for labeling in window
	x2 = Label(windows, text=words[word], font="times 20")

	# place of labeling in window
	x2.place(x=150, y=10)
	x3 = Label(windows, text="Start Typing", font="times 20")
	x3.place(x=10, y=50)

	entry = Entry(windows)
	entry.place(x=280, y=55)

	# buttons to submit output and check results
	b2 = Button(windows, text="Done",
				command=check_result, width=12, bg='grey')
	b2.place(x=150, y=100)

	b3 = Button(windows, text="Try Again",
				command=game, width=12, bg='grey')
	b3.place(x=250, y=100)
	windows.mainloop()


x1 = Label(window, text="Lets start playing..", font="times 20")
x1.place(x=10, y=50)

b1 = Button(window, text="Go", command=game, width=12, bg='grey')
b1.place(x=150, y=100)

# calling window
window.mainloop()

Post a Comment

Previous Post Next Post