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
Juliette [100K]
3 years ago
12

Write a function wordcount() that takes the name of a text file as input and prints the number of occurrences of every word in t

he file. You function should be case-insensitive so 'Hello' and 'hello' are treated as the same word. You should ignore words of length 2 or less. Also, be sure to remove punctuation and digits.
>>>wordcount('frankenstein.txt')
artifice 1
resting 2
compact 1
service 3

Computers and Technology
1 answer:
o-na [289]3 years ago
4 0

Answer:

I am writing a Python program. Let me know if you want the program in some other programming language.        

import string  #to use string related functions

def wordcount(filename):  # function that takes a text file name as parameter and returns the number of occurrences of every word in file

   file = open(filename, "r")  # open the file in read mode

   wc = dict()  # creates a dictionary

   for sentence in file:  # loop through each line of the file

       sentence = sentence.strip()  #returns the text, removing empty spaces

       sentence=sentence.lower() #converts each line to lowercase to avoid case sensitivity

       sentence = sentence.translate(sentence.maketrans("", "", string.punctuation))  #removes punctuation from every line of the text file

       words = sentence.split(" ")  # split the lines into a list of words

       for word in words:  #loops through each word of the file

           if len(word)>2:  #checks if the length of the word is greater than 2

               if word in wc:  # if the word is already in dictionary

                   wc[word] = wc[word] + 1  #if the word is already present in dict wc then add 1 to the count of that word

               else:  #if the word is not already present

                   wc[word] = 1  # word is added to the wc dict and assign 1 to the count of that word                

   for w in list(wc.keys()):  #prints the list of words and their number of occurrences

       print(w, wc[w])  #prints word: occurrences in key:value format of dict        

wordcount("file.txt") #calls wordcount method and passes name of the file to that method

Explanation:

The program has a function wordcount that takes the name of a text file (filename) as parameter.

open() method is used to open the file in read mode. "r" represents the mode and it means read mode. Then a dictionary is created and named as wc. The first for loop, iterates through each line (sentence) of the text file. strip() method is used to remove extra empty spaces or new line character from each sentence of the file, then each sentence is converted to lower case using lower() method to avoid case sensitivity. Now the words "hello" and "Hello" are treated as the same word.

sentence = sentence.translate(sentence.maketrans("", "", string.punctuation))  statement uses two methods i.e. maketrans() and translate(). maketrans() specifies the punctuation characters that are to be deleted from the sentences and returns a translation table. translate() method uses the table that maketrans() returns in order to replace a character to its mapped character and returns the lines of text file after performing these translations.

Next the split() method is used to break these sentences into a list of words. Second for loop iterates through each word of the text file. As its given to ignore words of length 2 or less, so an IF statement is used to check if the length of word is greater than 2. If this statement evaluates to true then next statement: if word in wc:   is executed which checks if the word is already present in dictionary. If this statement evaluates to true then 1 is added to the count of that word. If the word is not already present  then the word is added to the wc dictionary and 1 s assigned to the count of that word.

Next the words along with their occurrences is printed. The program and its output are attached as screenshot. Since the frankenstein.txt' is not provided so I am using my own text file.

You might be interested in
Name the tools and materials used in electrical installation job below.​
kow [346]
Voltage tester, Circuit finder, Screwdrivers and nut drivers specific to electricians, Pliers, measuring tape
8 0
3 years ago
You are trying to appreciate how important the principle of locality is in justifying the use of a cache memory, so you experime
murzikaleks [220]

Answer:

Explanation:

Attached is the solution

3 0
3 years ago
Is the following statement a valid parameter declaration? please explain!! i need a lot of help! thank you!
Gelneren [198K]

Answer:

NO

Explanation:

The parameter is declared in the function definition which takes the value from the calling function.

In the define function, we also declare the parameters with it type like int, char, float or double, etc.

Let's discuss the given function:

public void baseball (int batting average, hits,homeruns)

In the function, three variables are shown.

1. int batting average: Here, the variable type (int) is declared but the variable is not valid because the programming variable must NOT contain any space.

here, space exists between batting and average which is wrong.

2. hits: here, the variable type is not declared. this parameter is also not correct to declare.

3. homeruns: the variable type is not declared. this parameter is also not correct to declare.

Therefore, the statement has no valid parameter declaration.

6 0
3 years ago
Question 16 (1 point)
Lana71 [14]

Answer:

C) the world wide web.

Explanation:

if you where to google the question it is the definition of the WWW

5 0
4 years ago
A word or line of a paragraph at the bottom of the page indent is called _______
sashaice [31]

Answer:

Orphan

Explanation:

                               Orphan may be defined as the term given to a word or a line of a paragraph that is alone at the bottom of a page .

                              It is a  paragraph-opening sentence or word appearing  at the bottom of a column or page by itself,and it remain separated from the remaining text or paragraph.

                              Orphans and widows are not desirable and must be avoided while writing text.

Thus the answer is Orphan.

5 0
3 years ago
Read 2 more answers
Other questions:
  • Create a class in JobApplicant.java that holds data about a job applicant. Include a name, a phone number, and four Boolean fiel
    13·1 answer
  • Windows uses a memory-management technique known as ________ to monitor which applications you frequently use and preloads them
    15·1 answer
  • Joanna accidentally leaned on her keyboard and repeatedly typed the letter z. How can she fix this mistake?
    6·2 answers
  • Which software fits into the category of a productivity software?
    11·1 answer
  • What is the minimum internal temperature that the chicken must reach?
    11·1 answer
  • Care sunt avantajele fișierelor de tip ".pdf" ?
    15·2 answers
  • Ally typed a business letter. She used a _____.
    13·1 answer
  • When a subdomain has been delegated to a zone on another server, the DNS server hosting the parent zone maintains only an NS rec
    14·1 answer
  • When a person devises the idea for the venture, develops a business plan, uses savings or loans to acquire other resources and a
    9·1 answer
  • True or False: the sky looks blue because it is reflecting the blue ocean.​
    12·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!