Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
words = [
"early",
"aboriginal",
"antecedent",
"anterior",
"basic",
"beginning",
"cardinal",
"front",
"fundamental",
"head",
"inaugural",
"initial",
"key",
"leading",
"least",
"opening",
"original",
"pioneer",
"premier",
"primary",
"prime",
"primitive",
"ahead",
"elementary",
"first off",
"headmost",
"in the beginning",
"inceptive",
"incipient",
"introductory",
"lead off",
"number one",
"numero uno",
"primeval",
"primogenial",
"primordial",
"pristine",
"right up front",
"rudimentary",
"slightest",
"smallest"
]
import getch, time, sys
def WaitTillLetterIsTyped(letter):
    userInput = '\0'
    while userInput != letter:
        userInput = getch.getch()
def WaitTillTextIsTyped(text, showLetters):
    index = 0
    while index < len(text):
        WaitTillLetterIsTyped(text[index])
        if showLetters:
            sys.stdout.write(text[index])
            sys.stdout.flush()
        index += 1

wordIndex = 0
while wordIndex < len(words):
    print("type: "+words[wordIndex])
    start = time.time()
    WaitTillTextIsTyped(words[wordIndex], True)
    end = time.time()
    duration = end - start
    wpm = 60.0 / duration
    print("")
    print("wpm: "+str(wpm))
    wordIndex += 1