question archive Define a function named wordRank that accepts two arguments: a filename and a string
Subject:Computer SciencePrice:3.86 Bought11
Define a function named wordRank that accepts two arguments: a filename and a string. The function should return the frequency rank of the word that is passed in (1 for the most frequent word, 2 for the 2nd-most frequent word, etc). If the word is not in the file, wordRank should return False. (5 points)

#abc.txt
Hello world Hello there How, are you world, hello!
#main.py
def wordRank(filename,string):
#string for all punctuation marks
punctuation = '.?,\";(){}[]!:-\''
#define dictionary
dic = {}
#set dictionary as strings worsd as dictionary key and frequency of word as value(which is set 0 initially)
for i in string.split(' '):
if i not in dic:
dic[i] = 0
#open file and read it
with open(filename,'r') as file:
#read file line by line
for lines in file:
#declare an empty string for each iteration
line = ''
#split the line into characters
for i in lines:
#check for punctuation
if i not in punctuation:
#update a string without any punctuation
line += i
#split the string into words
for word in line.split():
#chekc for word in the string by the user
if word in dic:
#update the frequency of the word
dic[word] += 1
#check for whether file contain atleast one word same as inputted string
for i in dic:
if(dic[i] != 0):
#if a single word matched return its frequency
return dic
#if not even a single word of the inputted string match then return false
return False
def main():
#input file name
filename = input('Enter file name(as aaa.txt): ')
#input string
string = input('Enter string: ')
#calling function and save the return value
dic = wordRank(filename,string)
if(dic != False):
#print the frequency of word
for key in dic:
print(key,' : ',dic[key])
if __name__ == "__main__":
main()
Please see the attached file for the complete solution

