15 pts
Question #10 successors(file_name)
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 (isn't,
don't, I'm, etc) but you cannot make assumptions about the spacing or the presence of non-
alphanumerical 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
items.txt:
We came to learn, eat some pizza and to have fun.
Maybe to learn how to make pizza too!
>>> print(contents)
'We came to learn, eat some pizza and to have fun. \nMaybe to learn how to make
pizza too!'
Hints:
• The str.isalnum() method returns True if all characters in a string are alphanumeric.
• When x = 'We', the type conversion list(x) produces the list ['W', 'e']
Preconditions and Postconditions
file_name: str -> A string that ends with .txt
Returns: dict -> Keys are all included words and punctuation marks, values all
successors of that key
Example:
Contents of items.txt:
We came to Learn, eat some pizza and to have fun.
Maybe to Learn how to make pizza too!
>>> out=successors('items.txt')
>>> out.keys()
dict_keys(['.', 'We', 'came', 'to', 'learn', ',', 'eat', 'some', 'pizza', 'and',
'have', 'fun', 'Maybe', 'how', 'make', 'too'])
>>> out['.']