Python Question: Write a function named uniqueWords that counts how many differe
ID: 3680660 • Letter: P
Question
Python Question:
Write a function named uniqueWords that counts how many different words there are in each line of an input file and writes that count to a corresponding line of an output file. The input file already exists when uniqueWords is called. uniqueWords creates the output file.
Input. The function uniqueWords takes two parameters:
inFile, a string that is the name of a text file that is to be read. The file that inFile refers to contains only lower case letters and white space (no punctuation marks or other special characters). outFile, a string that is the name of the file to which uniqueWords writes its output. The input file is in the current working directory. uniqueWords should create the output file in that directory.
Output. For each line of inFile, uniqueWords should write a corresponding line to outFile containing a single integer: the number of unique words on the line.
If the content of the file turn.txt is below,
a time to build up a time to break down a time to dance a time to mourn
a time to cast away stones
a time to gather stones together
the function call uniqueWords('turn.txt', 'turnOut.txt') should create a file named turnOut.txt with this content:
7
5
8
Explanation / Answer
The logic is to remove the duplicates in the list and count number of words. def unique_words(string, ignore_case=False): key = None if ignore_case: key = str.lower return " ".join(unique_everseen(string.split(), key=key)) string2 = unique_words(string1) print len(set(w.lower() for w in string2.read().split()))
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.