1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Vinil7 [7]
3 years ago
10

Write a program that reads a book (a file in text format), breaks each line into words, strips whitespace and punctuation from t

he 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.

Computers and Technology
1 answer:
diamong [38]3 years ago
4 0

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.

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.

You might be interested in
Write an application that instantiates five Recording objects and prompts the user for values for the data fields. Then prompt t
tangare [24]

Answer:

Here is the JAVA application

Recording.java:

class Recording {  //class name

String title;  //String type variable to store the title of the song

String artist;  //String type variable to store the artist name of the song

int playingTime;  //int type variable to store the playing time of the song in seconds  

public String getTitle() {  //accessor method to get the title of the song

   return title; }   //returns the current title of song

public void setTitle(String title) {  //mutator method to set the title of song

   this.title = title;  }   // sets the title of song

public String getArtist() {  //accessor method to get the artist name of the song

  return artist; }   //returns the current artist name of song

public void setArtist(String artist) {  //mutator method to set the artist name of song

  this.artist = artist; }   //sets the artist name

public int getPlayingTime() {  //accessor method to get the playing time of the song

   return playingTime; } /  /returns the playing time of song

public void setPlayingTime(int pt) {  //mutator method to set the playing time of song

   this.playingTime = pt; }   //sets the playing time of song

public Recording(String title, String artist, int playingTime) {  //parmeterized constructor of Recording class that takes title, artist and playingTime as parameters

this.title = title;  

this.artist = artist;

this.playingTime = playingTime;  }  }

Explanation:

Here is the Main class:  

import java.util.Scanner;   //to accept input from user

public class Main {  

public static void main(String[] args) {  // start of main function

 Recording[] song = new Recording[5];  //creates object of Recording class named song to instantiate five Recording objects

 Scanner input = new Scanner(System.in);  //creates Scanner class object named input

 int i = 0;  // declare i and initialize it to -

 for (i = 0; i < song.length; i++) {  //iterates through the list of song

  int j = i + 1;  

  System.out.print("Enter the title of song " + j + ": ");  //prompts user to enter the title of song

 String title = input.nextLine();   //reads the title string from user

 System.out.print("Enter the artist of song " + j + ": ");  //prompts user to enter the artist of song

 String artist = input.nextLine();   //reads the artist string from user

System.out.print("Enter the playing time of song " + j + " in seconds: ");   //prompts user to enter the playing time of song

 String playtime = input.nextLine();  //reads the playing time string value from user

 int playingTime = Integer.parseInt(playtime);   // converts String value of playtime to integer

 song[i] = new Recording(title, artist, playingTime); }   //calls constructor of Recording class by passing title, artist and playingTime to it  

 int sort;  // for choosing which field to sort

do {  //continues to ask user to enter which field the Recordings should be sorted by

System.out.println("How should these songs be sorted? 1 for title 2 for artist 3 for playing time");  

sort = input.nextInt();  //reads user choice to sort

       if (sort > 0 && sort < 4) {  //to check if user enters a valid choice

 int a, b;  

 int max = song.length - 1;  

for (a = 0; a < max; a++) {  //iterates through the length of the song list setting an index variable a

      for (b = 0; b < max; b++) {    //iterates through the length of the song list setting an index variable b

  int c = b + 1;

     if (sort == 1) {  //if the user selects title field

       if (song[b].getTitle().compareTo(song[c].getTitle()) > 0) {  // compares title of one song with the song that comes after it

   Recording temp = song[b];  //sorts the titles using bubble sort by ordering each title to the immediate next and swapping them if they are not sorted already

   song[b] = song[c];

   song[c] = temp; } }  

   else if (sort == 2) {    //if the user selects artist field

  if (song[b].getArtist().compareTo(song[c].getArtist()) > 0) {  // compares artist of one song with the song artist  that comes after it

//sorts the artists using bubble sort by ordering each title to the immediate next and swapping them if they are not sorted already

     Recording temp = song[b];

     song[b] = song[c];

     song[c] = temp;  }  }  

   else if (sort == 3) {   //if the user selects playing time field

  if (song[b].getPlayingTime() > song[c].getPlayingTime()) {

/* compares artist of one song with the song artist  that comes after it sorts the artists using bubble sort by ordering each title to the immediate next and swapping them if they are not sorted already */

       Recording temp = song[b];

        song[b] = song[c];

         song[c] = temp;  } } } }  }  

             else {  //if user enters any invalid choice

 System.out.println("Invalid choice! Enter right choice"); }        

       } while (sort < 1 || sort > 3);  //keeps asking user to enter which field the recording to sort by until the value of sort in range of 1 to 3

for (i = 0; i < song.length; i++) {  //displays the sorted song list according to selected field

System.out.println("Song: Title: " + song[i].getTitle() + ". Artist: " + song[i].getArtist() + ". Playing time: " + song[i].getPlayingTime() + " seconds.");  }

input.close();  }  }

The output of the program is attached.

7 0
3 years ago
PHP is based on C rather than ______.
Maksim231197 [3]

Answer:

2b2t

Explanation:

2b2t

8 0
3 years ago
Write an efficient C++ function that takes any integer value i and returns 2^i ,as a long value. Your function should not multip
Ilya [14]

Answer:

long power(int i)

{

   return pow(2,i);

}

Explanation:

The above written function is in C++.It does not uses loop.It's return type is long.It uses the function pow that is present in the math library of the c++.It takes two arguments return the result as first argument raised to the power of second.

for ex:-

pow(3,2);

It means 3^2 and it will return 9.

4 0
3 years ago
Liza works as a receptionist. Around the lunch hour, she has a difficult time hearing the callers due to employees talking near
Rashid [163]
c.<span>barriers to communication
 because the other employees are the ones causing the trouble</span>
6 0
3 years ago
) Which of these will not select all the cells in a document?
dolphi86 [110]
Pressing enter two times I’m pretty sure that’s right cuz like it does nothing when I do it. It’s either that or idk up to u to take an answer from someone who has bad grammar
4 0
3 years ago
Other questions:
  • The google android mobile operating system is a proprietary system, for use on only approved devices.​
    10·1 answer
  • Write a program that reads a file containing text. Read each line and send it to the output file, preceded by line numbers. If t
    8·1 answer
  • Consider the partially-filled array named a. What does the following loop do? (cin is a Scanner object)int[] a = {1, 3, 7, 0, 0,
    6·1 answer
  • A ________ restricts the number of a certain type of product that can be imported into a country.
    5·1 answer
  • Yo, my Lenovo laptop keeps showing this screen but I can't sign in, can someone help me?
    5·2 answers
  • A thesaurus is an example of a(n)
    5·2 answers
  • WHICH PROGRAMMING LANGUAGES ARE THE BEST AND COMPATIBLE FOR 3D PRINTERS?
    12·1 answer
  • In the context of the data administration component of a database management system (DBMS), the acronym CRUD stands for _____.
    5·1 answer
  • Current flow is the same through all the elements of a series circuit.<br><br> true or false?
    15·1 answer
  • Many programmers think object-oriented programming is a superior approach to procedural programming. Others think it adds a leve
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!