subject

Write a program that first reads in the name of an input file and then reads the input file using the file. readlines() method. The input file contains an unsorted list of number of seasons followed by the corresponding TV show. Your program should put the contents of the input file into a dictionary where the number of seasons are the keys, and a list of TV shows are the values (since multiple shows could have the same number of seasons). Sort the dictionary by key (least to greatest) and output the results to a file named output_keys. txt, separating multiple TV shows associated with the same key with a semicolon (;). Next, sort the dictionary by values (alphabetical order), and output the results to a file named output_titles. txt.
My current code:
def readFile(filename):
dict = {}
with open(filename, 'r') as infile:
lines = infile. readlines()
for index in range(0, len(lines) - 1, 2):
if lines[index].strip()=='':continue count = int(lines[index].strip())
name = lines[index + 1].strip()
if count in dict. keys():
name_list = dict. get(count)
name_list. append(name)
name_list. sort()
else:
dict[count] = [name]
print(count, name)
return dict
def output_keys(dict, filename):
with open(filename,'w+') as outfile:
for key in sorted(dict. keys()):
outfile. write('{}: {}\n'.format(key,'; '.join(dict. get(key
print('{}: {}\n'.format(key,';'.join(dict. get(key
def output_titles(dict, filename):
titles = []
for title in dict. values():
titles. extend(title)
with open(filename,'w+') as outfile:
for title in sorted(titles):
outfile. write('{}\n'.format(title))
print(title)
def main():
filename = input('Enter input file name: ')
dict = readFile(filename)
if dict is None:
print('Error: Invalid file name provided: {}'.format(filename))
return
print(dict)
output_filename_1 ='output_keys. txt'
output_filename_2 ='output_titles. txt'
output_keys(dict, output_filename_1)
output_titles(dict, output_filename_2)

ansver
Answers: 3

Another question on Computers and Technology

question
Computers and Technology, 23.06.2019 20:30
1. for which of the following are you not required to signal beforehand? a. changing lanes b. speeding up c. stopping
Answers: 2
question
Computers and Technology, 24.06.2019 06:30
Ineed to know the anwser to all these questions
Answers: 2
question
Computers and Technology, 24.06.2019 07:00
You are most likely to automatically encode information about
Answers: 1
question
Computers and Technology, 24.06.2019 12:00
How can we take picture in this app
Answers: 1
You know the right answer?
Write a program that first reads in the name of an input file and then reads the input file using th...
Questions
question
History, 14.04.2021 21:10
question
Mathematics, 14.04.2021 21:10
question
Physics, 14.04.2021 21:10
question
Mathematics, 14.04.2021 21:10
question
Mathematics, 14.04.2021 21:10
question
Geography, 14.04.2021 21:10