Создание счетчика WPM для фразы и вывод времени

Поэтому я хочу создать простую программу, использующую функцию time.monotonic(), которая запрашивает до и после того, как пользователь набрал фразу, а затем дает среднее количество слов в минуту вместе с общим количеством секунд, потраченных на ввод фразы.

Фраза: "Быстрая коричневая лиса перепрыгивает через ленивую собаку"

Я новичок в программировании, поэтому я дам, какой код и грубые идеи у меня были ниже, пожалуйста, не стесняйтесь поправлять меня. Вся помощь приветствуется.

import time 

inputText = str(input('Enter the phrase :"The quick brown fox jumps over the lazy dog" as fast as possible')

t0 = time.time() #start time
t1 = time.time() #stop time

timeTaken = t1 - t0
wordPM = (9/timeTaken)

#print time taken in seconds and avg WPM

Итак, я воспользовался советом первого автора, но когда я запускаю код после ввода "да" для продолжения, он останавливается и ошибок нет, поэтому я не уверен, что не так.

import time 
string = "The quick brown fox jumps over the lazy dog"
word_count = len(string.split())

while str(input('Enter "yes" when you are ready')) != 'yes':
str(input('Enter "yes" when you are ready'))
t0 = time.time() #start time
inputText = str(input('Enter the phrase :"The quick brown fox jumps over the lazy dog" as fast as possible' % string))
t1 = time.time() #stop time  
acc = len(set(inputText.split()) & set(string.split()))
acc = acc/word_count
timeTaken = t1 - t0
wordPM = (word_count/timeTaken)
print (wordPM, acc)  

1 ответ

Решение
import time 
string = "The quick brown fox jumps over the lazy dog"
word_count = len(string.split())

Вы можете подготовить пользователя с некоторым вступлением

while str(raw_input('Enter "yes" when you are ready')) <> 'yes':
    str(raw_input('Enter "yes" when you are ready'))

Затем вы начинаете свой таймер

t0 = time.time() #start time
inputText = str(raw_input('Enter the phrase :"%s" as fast as possible' % string))
t1 = time.time() #stop time

Тогда вы можете посчитать процент правильно введенных слов как-то

acc = len(set(inputText.split()) & set(string.split()))
acc = acc/word_count

timeTaken = t1 - t0
wordPM = (word_count/timeTaken)
print wordPM, acc
Другие вопросы по тегам