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
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]}')
Comments
Thank you so much
Leave a comment