230k views
3 votes
Write a program that reads a book (a file in text format), breaks each line into words, strips whitespace and punctuation from the words, and converts them to lowercase. Count the total number of the words, the number of times each word is used, and print out the top 10 most frequently used words.

1 Answer

4 votes

Answer:

Following are the code to this question:

file= open('book.txt') #open file

li= {} #define an empty list

for lines in file: # use for loop Split file data into words

d= lines.lower().strip(' !?').split() #define variable d that Add it to map

for val in d: #define loop to store data

if val not in li: #check value is not in list

li[val] = 0 #define list and assign value in 0

li[val] = li[val] + 1 #Sort the book data and add its value

m = sorted(li.items(),key = lambda x : -x[1]) #sorted value into the m variable

print(m[:10]) #print value

Output:

please find the attachment.

Step-by-step explanation:

In the given python code first, we open the file "book.txt", in next line, an empty list is defined, that uses the for loop which can be described as follows:

  • In the for loop is used, that reads the file data, and defines a variable "d", that stores the values into the map.
  • In the next line another loop is used, that check file values, if values are the same type so, it adds values and writes it.
  • In the last line, m variable is used, that sorts the values and use the slicing to print its value.
Write a program that reads a book (a file in text format), breaks each line into words-example-1
User Souvik Basu
by
5.2k points