My Python file will not work below and I am not sure why, please help me debug!
*********************************
Instructions for program:
You’ll use these functions to put together a program that does the following:
Gives the user sentences to type, until they type DONE and then the test is over.
Counts the number of seconds from when the user begins to when the test is over.
Counts and reports:
The total number of words the user typed, and how many seconds it took them.
The words-per-minute that turns out to be.
The number of mistakes they made.
The adjusted words-per-minute, accounting for mistakes.
WPM and adjusted WPM... Suppose the user types 25 words and it takes them 30 seconds. That would be 50 words per minute. But if they made two mistakes, then we say they typed 23 words in 30 seconds, and so adjusted WPM is 46.
The number of mistakes is always subtracted from the total words typed, regardless of whether it was a misspelled word, an extra word, or a missing word.
Requirements:
The number of words typed and number of mistakes made should should be integers throughout the program. The words per minute and adjusted words per minute, when reported on the terminal, should be rounded to the nearest whole number.
The number of seconds should be rounded to the nearest 100th.
The test must keep going, selecting sentence after sentence after sentence until the user types DONE.
The user might type DONE at the very beginning and just get zeroes for everything.
**************************************************
***WPM.py Starter code file below, do not change*****
import time
import random
PHRASES = ['Four Khoury faculty awarded Global Resilience
Institute grants.',
'Tired of being manipulated by fake news?',
'One computer scientist’s strategies to improve data
visualizations',
'Now more than ever, computer science is everywhere.',
'Prof. Manferdelli has been recognized for his work on the
DSB.',
'The work of the Defense Science Board has led to effective
actions.',
'Please take your dog, Cali, out for a walk; she needs
exercise!',
'What a beautiful day it is on the beach, here in sunny
Hawaii.',
'Dr. Quinfrey, a renowned scientist, made an invisibility
machine.',
'why are all those chemicals are so hazardous to the
environment?',
'The two kids collected twigs outside in the freezing cold!',
'How many times have I told you? NEVER look at your race
photos.',
'Didn\'t see a moose, though. Come on, Maine.',
'Yo minneapolis is cold',
'Amazingly few discotheques provide jukeboxes!',
'Jovial Debra Frantz swims quickly with grace and
expertise.',
'Six crazy kings vowed to abolish my quite pitiful jousts.',
'Rex enjoys playing with farm ducks by the quiet lazy
river?',
'The five boxing wizards jumped quickly!',
'The 116 saved 49 size 64 items for 26 friends going May 3',
'Send 99 people to do 8 sets of 150 shows.',
'The new school holds 3092 students; the older one, 568
more.',
'He has seat 459 in car 985 of train 78, which is now at gate
31.',
'The 36 men won 663 prizes in 52 games and 57 in 129 others.']
def select_sentence():
''' Function select_sentence
Input: nothing
Returns: a randomly-chosen sentence from the list above
(string)
'''
return random.choice(PHRASES)
def count_words(sentence):
''' Function count_words
Input: a string
Returns: an int, the number of words in the given string.
Uses one white space as a delimiter, nothing else.
'''
words = sentence.split(' ')
return len(words)
def count_mismatches(phrase_one, phrase_two):
''' Function count_mismatches
Input: two strings for comparison
Returns: an int, the number of differences between the two
strings.
We count differences in each word (not each character).
If the words at position i in each sentence differ at ALL,
case included, that's a mismatch.
If one sentence is longer than the other, each extra word
it has is also a mismatch.
'''
list_one = phrase_one.split(' ')
list_two = phrase_two.split(' ')
min_length = min(len(list_one), len(list_two))
# Count the position-by-position mismatches
errors = 0
for i in range(min_length):
if list_one[i] != list_two[i]:
errors += 1
# Add on any mismatches if one phrase was longer
errors += abs(len(list_one) - len(list_two))
return errors
*********my code for HW.py file *******
from WPM import *
def main():
print(" ::WORDS PER MINUTE TYPING TEST!::")
print("Type this sentence:")
sentence=select_sentence()
print(sentence)
# Time delay of 2 seconds to let the user know when to start
typing
print("READY...")
time.sleep(2)
print("SET...")
time.sleep(2)
print("GO!")
seconds=time.time()
user_input=[]
user_input = input().split()
# If sentence Ends with "DONE", it is converted into a string from
a list to remove "DONE"
if user_input[len(user_input)-1]=="DONE":
user_input.pop()
user_input=' '.join(str(x) for x in user_input)
# Required calculations
seconds=time.time()-seconds
errors=count_mismatches(user_input,sentence)
words=count_words(user_inp)
seconds=round(seconds,2)
# Display of results
print("TOTAL NUMBER OF WORDS TYPED: %d"%words,end='')
print(" IN %d SECONDS."%seconds)
wpm=(words/seconds)*60
print("WORDS PER MINUTE: %d"%round(wpm))
print("NUMBER OF MISTAKES MADE: %d"%errors)
awpm=((words-errors)/seconds)*60
print("ADJUSTED WORDS PER MINUTE: %d"%round(awpm))
if __name__=='__main__':
main()
********************************************
#It works fine now
from WPM import *
def main():
print(" ::WORDS PER MINUTE TYPING TEST!::")
print("Type this sentence:")
sentence = select_sentence()
print(sentence)
# Time delay of 2 seconds to let the user know when to start typing
print("READY...")
time.sleep(2)
print("SET...")
time.sleep(2)
print("GO!")
seconds = time.time()
user_input = []
user_input = input().split()
# If sentence Ends with "DONE", it is converted into a string from a list to remove "DONE"
if user_input[len(user_input) - 1] == "DONE":
user_input.pop()
user_input = ' '.join(str(x) for x in user_input)
# Required calculations
seconds = time.time() - seconds
errors = count_mismatches(user_input, sentence)
words = count_words(user_input)#it should be user_input and not user_in
seconds = round(seconds, 2)
# Display of results
print("TOTAL NUMBER OF WORDS TYPED: %d" % words, end='')
print(" IN %d SECONDS." % seconds)
wpm = (words / seconds) * 60
print("WORDS PER MINUTE: %d" % round(wpm))
print("NUMBER OF MISTAKES MADE: %d" % errors)
awpm = ((words - errors) / seconds) * 60
print("ADJUSTED WORDS PER MINUTE: %d" % round(awpm))
if __name__ == '__main__':
main()

My Python file will not work below and I am not sure why, please help me...
I cant get this python program to read all the unique words in a file. It can only read the number of the unique words in a line. import re import string from collections import Counter # opens user inputted filename ".txt" and (w+) makes new and writes def main(): textname = input("Enter the file to search: ") fh = open(textname, 'r', encoding='utf-8' ) linecount = 0 wordcount = 0 count = {} print("Sumary of the", fh) for line in...
I need help with my Java code. A user enters a sentence and the program will tell you what words were duplicated and how many times. If the same word is in the sentence twice, but one is capitalized, it will not count it as a duplicate. How can I make the program read the same word as the same word, even if one is capitalized and the other is not? For example, "the" and "The" should be counted as...
Using Python, if you could help me with the code # Create a modified version of the search linear function defined # above to return all # occurrences of the search word in the text # An occurrence is the index of a word in the text that matches your given # search string. # e.g. if "hatter" occurs at positions 0, 6, 12 then return [ 0, 6, 12] def search_linear_occurrences(xs, target): """ Find and return a list of...
Using Python, if you could help me with the code # Create a modified version of the search linear function defined # above to return all # occurrences of the search word in the text # An occurrence is the index of a word in the text that matches your given # search string. # e.g. if "hatter" occurs at positions 0, 6, 12 then return [ 0, 6, 12] def search_linear_occurrences(xs, target): """ Find and return a list of...
PYTHON. Continues off another code. I don't understand this. Someone please help! Comment the lines please so I can understand LinkedList ADT: class myLinkedList: def __init__(self): self.__head = None self.__tail = None self.__size = 0 def insert(self, i, data): if self.isEmpty(): self.__head = listNode(data) self.__tail = self.__head elif i <= 0: self.__head = listNode(data, self.__head) elif i >= self.__size: self.__tail.setNext(listNode(data)) self.__tail = self.__tail.getNext() else: current = self.__getIthNode(i - 1) current.setNext(listNode(data,...
PYTHON. Continues off another code(other code is below). I don't understand this. Someone please help! Comment the lines please so I can understand. There are short and med files lengths for each the list of names/ids and then search id file. These are the input files: https://codeshare.io/aVQd46 https://codeshare.io/5M3XnR https://codeshare.io/2W684E https://codeshare.io/5RJwZ4 LinkedList ADT to store student records(code is below). Using LinkedList ADT instead of the Python List. You will need to use the Student ADT(code is below) Imports the Student class...
This is my assignment in Python. Please help me thank you Design type 1: # Creating an object of the class "Burger" theOrder = Burger() # calling the main method theOrder.main() # And the class is like: class Burger: # You may need to have a constructor def __init__(self): self._orderDict = {} self._priceBeforeTax = 0 self._priceAfterTax = 0 # you may have the tax rate also as an instance variable. But as I mentioned, you can use your # own...
hey dear i just need help with update my code i have the hangman program i just want to draw the body of hang man when the player lose every attempt program is going to draw the body of hang man until the player lose all his/her all attempts and hangman be hanged and show in the display you can write the program in java language: this is the code bellow: import java.util.Random; import java.util.Scanner; public class Hangmann { //...
I need python help .. I need to know if a user were to input 3 commands to a program and run it such as specify: Usage: ./filemaker INPUTCOMMANDFILE OUTPUTFILE RECORDCOUNT (./filemaker is the program)( (INPUTCOOMANDFUILE= a text file that contains key words that need to be searched through then decided what to do ) (RECORDCOUNT= number) Given an input file that contains the following: That specifies the text, then the output, and the number of times to be repeated...
12p
I need help this is Python
EXCEPTIONS: It's easier to ask forgiveness than permission. Try the code and catch the errors. The other paradigm is 'Look before you leap' which means test conditions to avoid errors. This can cause race conditions. 1.Write the output of the code here: class MyError(Exception): pass def notZero(num): if num == 0: raise MyError def run(f): try: exec(f) except TypeError: print("Wrong type, Programmer error") except ValueError: print("We value only integers.") except Zero Division Error:...