Write a python program that accepts a text and displays a string which contains the word with the largest frequency in the text and the frequency itself separated by a space.


Rules:

  1. The word should have the largest frequency.

  2. In case multiple words have the same frequency, then choose the word that has the maximum length.

Assumptions:

  1. The text has no special characters other than space.

  2. The text would begin with a word and there will be only a single space between the words.

Perform case insensitive string comparisons wherever necessary.

Sample Input

Expected Output

"Work like you do not need money love like you

 have never been hurt and dance like no one is watching"

like 3

"Courage is not the absence of fear but rather 

the judgement that something else is more important than fear"

fear 2

 

def max_frequency_word_counter(data):
word=""
frequency=0
lower_data=data.lower()
lst=[]
lst=lower_data.split()
repeat=[]
a=[]
i=0
while(i < len(lst)):
if lst.count(lst[i]) > 1:
repeat.append(lst[i])
i=i+1
else:
i=i+1
for i in repeat:
a=repeat.count(i)
for i in range(0,len(repeat)):
if repeat.count(repeat[i])==a:
word=word+repeat[i]
frequency=a
break
print(word,frequency)
#Provide different values for data and test your program.
data="Listen to the big clock Tick tock tick"
max_frequency_word_counter(data)






Write python function, sms_encoding() which accepts a sentence and converts it into an abbreviated sentence to be sent as SMS and returns the abbreviated sentence. 


Rules are as follows: 
a. Spaces are to be retained as is 
b. Each word should be encoded separately

  • If a word has only vowels then retain the word as is

  • If a word has a consonant (at least 1) then retain only those consonants

Note: Assume that the sentence would begin with a word and there will be only a single space between the words.

Sample Input

Expected Output

I love Python

I lv Pythn

MSD says I love cricket and tennis too

MSD sys I lv crckt nd tnns t

I will not repeat mistakes

I wll nt rpt mstks

vowels=['a','e','i','o','u']
def sms_encoding(data):
temp=[]
l=data.split(" ")
for word in l:
temp_word=[]
for letter in word:
if letter.lower() not in vowels:
temp_word.append(letter)
if len(temp_word)==0:
temp_word.append(word)
temp.append("".join(temp_word))
return " ".join(temp)
data="GOOD DAYS AND BAD DAYS"
print(sms_encoding(data))