Answer to Question #185902 in Python for J NAGAMANI

Question #185902

Given a sentence S, write a program to print the frequency of each word in S. The output order should correspond with the word's input order of appearance.Input


The input will be a single line containing a sentence S.Output


The output contains multiple lines, with each line containing a word and its count separated by ": " with the order of appearance in the given sentence.Explanation


For example, if the given sentence is "Hello world, welcome to python world", the output should be

Hello: 1

world: 2

welcome: 1

to: 1

python: 1


Sample Input 1

Hello world welcome to python world


Sample Output 1

Hello: 1

world: 2

welcome: 1

to: 1

python: 1


Sample Input 2

This is my book


Sample Output 2

This: 1

is: 1

my: 1

book: 1


Please I need exact Output for the above question , i mean a code which satisfies both the above two sample inputs





1
Expert's answer
2021-04-26T18:46:21-0400
import re 
s = input("Enter your string: ")
word_list = re.split('[.,:;\-\'\"',s)
dict_world ={}
for i in word_list:
    try:
        dict_world[i] += 1
    except KeyError:
        dict_world[i] = 1
for key in dict_world.keys():
    if key =='':
        continue
    print(f'{key}: {dict_world[key]}')

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

J NAGAMANI
27.04.21, 05:51

Thank you so much

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS