The program, word_frequency, counts the number of occurrences of words in a document. The program takes a filename as a parameter and performs the task. Get the program to run using the attached text file called sonet18.txt. The file contains William Shakespeare sonet18. After you run the program and understand it's logic, modify word_frequency.py to use a binary search tree instead of a dictionary.
The program, word_frequency, counts the number of occurrences of words in a document. The program takes a filename as a parameter and performs the task.
Get the program to run using the attached text file called sonet18.txt. The file contains William Shakespeare sonet18. After you run the program and understand it's logic, modify word_frequency.py to use a binary search tree instead of a dictionary.
Tasks:
1. Import a binary search tree
2. Change the filename in the program to reflect the change(s) made
Python Only and no other coding languages. Import the module first before running it. Please show output when done.
word_frequency.py:
import sys
filename = sys.argv[1]
freq = {}
for piece in open(filename).read().lower().split():
# only consider alphabetic characters within this piece
word = ''.join(c for c in piece if c.isalpha())
if word: # require at least one alphabetic character
freq[word] = 1 + freq.get(word, 0)
max_word = ''
max_count = 0
for (w,c) in freq.items(): # (key, value) tuples represent (word, count)
if c > max_count:
max_word = w
max_count = c
print('The most frequent word is', max_word)
print('Its number of occurrences is', max_count)
(copy and paste this into a text document) sonet18.txt:
Shakespeare starts Sonnet 18 with a flattering question to the beloved:
"Shall I compare thee to a summer’s day?" He goes on to list some negative
aspects of summer to establish that his beloved is better.
In the last part of the poem, he states that the beauty of his beloved will never
fade as he will make it eternal though the words of this poem which will remind the
world of him “so long as men can breathe or eyes can see“.
Sonnet 18 is the most famous poem written by William Shakespeare and among the most
renowned sonnets ever written.
Step by step
Solved in 3 steps