Question: successors ( file _ name ) 1 5 pts Returns a dictionary whose keys are included words ( as is ) , and values are

successors(file_name)15 pts Returns a dictionary whose keys are included words (as is), and values are lists of unique successors to those words. The first word of the txt file is always a successor to ".". Be careful with punctuation. You can assume the text in the txt file does not contain any contraction words (isnt, dont, Im, etc) but you cannot make assumptions about the spacing or the presence of nonalphanumerical characters. The starter code already contains the code to read the txt file, just make sure the file is in the same directory as your .py file. You must write your code after the file has been read to process the contents.
# Open the file and read the contents, the with statement ensures the file properly closed after the file operation finishes with open(file_path) as file:
contents = file.read() # reads the entire file, saving data in contents as string
Allowed methods, operators, and libraries:
str.split(sep) returns a list of the words in the string, using sep as the delimiter string o 'a b c'.split('') returns ['a','b','c'] o 'a,b,c'.split(',') returns ['a','b','c'] o 'a=b'.split('=') returns ['a','b']
str.strip(), returns a copy of the string with the leading and trailing characters removed. o ' a , b '.strip() returns 'a , b' o ' a , b
'.strip('
') returns ' a , b'
The str.join(iterable) method returns a string which is the concatenation of the strings in iterable o ''.join(['a','b','c']) returns 'abc' o '-'.join(['a','b','c']) returns 'a-b-c' o ''.join(['a','b','c']) returns 'a b c'
Loops and conditionals
Append or list concatenation (+)
def successors(file_name):
"""
>>> expected ={'.': ['We', 'Maybe'],'We': ['came'], 'came': ['to'],'to': ['learn', 'have', 'make'], 'learn': [',', 'how'],',': ['eat'], 'eat': ['some'], 'some': ['pizza'], 'pizza': ['and', 'too'], 'and': ['to'], 'have': ['fun'], 'fun': ['.'], 'Maybe': ['to'], 'how': ['to'], 'make': ['pizza'], 'too': ['!']}
>>> returnedDict = successors('items.txt')
>>> expected == returnedDict
True
>>> returnedDict['.']
['We', 'Maybe']
>>> returnedDict['to']
['learn', 'have', 'make']
>>> returnedDict['fun']
['.']
>>> returnedDict[',']
['eat']
"""
with open(file_name, 'r') as f:
contents = f.read() # You might change .read() for .readlines() if it suits your implementation better
#- YOUR CODE STARTS HERE

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!