Related questions
In Python:
I've received a few errors, what could I be doing wrong?
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.
Ex: If the input is:
file1.txt
and the contents of file1.txt are:
20 Gunsmoke 30 The Simpsons 10 Will & Grace 14 Dallas 20 Law & Order 12 Murder, She Wrote
the file output_keys.txt should contain:
10: Will & Grace 12: Murder, She Wrote 14: Dallas 20: Gunsmoke; Law & Order 30: The Simpsons
and the file output_titles.txt should contain:
Dallas Gunsmoke Law & Order Murder, She Wrote The Simpsons Will & Grace
My Code:
#Define readFile() function
def readFile(file_Name):
dictn = {}
with open(file_Name, 'r') as inp_File:
lines = inp_File.readlines()
for index in range(0, len(lines) - 1, 2):
if lines[index].strip()=='':continue
cnt = int(lines[index].strip())
name = lines[index + 1].strip()
if cnt in dictn.keys():
name_list = dictn.get(cnt)
name_list.append(name)
name_list.sort()
else:
dictn[cnt] = [name]
print(cnt,name)
return dictn
#Define output_keys() function
def output_keys(dictn, file_Name):
with open(file_Name,'w+') as out_File:
for key in sorted(dictn.keys()):
out_File.write('{}: {}\n'.format(key,';'.join(dictn.get(key))))
print('{}: {}'.format(key,';'.join(dictn.get(key))))
#Define output_titles() function
def output_titles(dictn, file_Name):
titles = []
for title in dictn.values():
titles.extend(title)
with open(file_Name,'w+') as out_File:
for title in sorted(titles):
out_File.write('{}\n'.format(title))
print(title)
#Define main() function
def main():
file_Name = input('Enter the file name:')
dictn = readFile(file_Name)
if dictn is None:
print('Error: Invalid file name provided: {}'.format(file_Name))
return
output_file_Name_1 ='output_keys.txt'
output_file_Name_2 ='output_titles.txt'
print("\nKeys:")
output_keys(dictn,output_file_Name_1)
print('\nTitles:')
output_titles(dictn,output_file_Name_2)
main()
Trending nowThis is a popular solution!
Step by stepSolved in 2 steps with 3 images
- Write a python program that creates a dictionary containing the U.S. states as keys, and their capitals as values. The program should then randomly quiz the user by displaying the name of a state and asking the user to enter that state's capital. The program should keep a count of the number of correct and incorrect responses. This program has really been giving me trouble. Any help is greatly appreciated. Thanks so much!arrow_forwardWrite a program that creates a dictionary containing Canadian provinces' abbreviations as the keys (e.g., 'on') and their long format as the values (e.g., 'Ontario'). Use the internet to get a list of provinces and their abbreviations. The program should then randomly quiz the user by displaying the abbreviation of the province and asking the user to enter the extended format for the abbreviation. The program should keep count of the number of correct and incorrect responses.arrow_forwardWrite a python program that reads the contents of a text file. The program should create a dictionary in which the keys are the individual words found in the file and the values are the number of times each word appears. For example, if the word "the" appears 128 times, the dictionary would contain an element with 'the' as the key and 128 as the value. The program should either display the frequency of each word or create a second file containing a list of each word and it's frequency. This program has really been giving me trouble. Any help is great appreciated. Thanks so much!arrow_forward
- PYTHON Complete the function below, which takes two arguments: data: a list of tweets search_words: a list of search phrases The function should, for each tweet in data, check whether that tweet uses any of the words in the list search_words. If it does, we keep the tweet. If it does not, we ignore the tweet. data = ['ZOOM earnings for Q1 are up 5%', 'Subscriptions at ZOOM have risen to all-time highs, boosting sales', "Got a new Mazda, ZOOM ZOOM Y'ALL!", 'I hate getting up at 8am FOR A STUPID ZOOM MEETING', 'ZOOM execs hint at a decline in earnings following a capital expansion program'] Hint: Consider the example_function below. It takes a list of numbers in numbers and keeps only those that appear in search_numbers. def example_function(numbers, search_numbers): keep = [] for number in numbers: if number in search_numbers(): keep.append(number) return keep def search_words(data, search_words):arrow_forwardIn Python languagearrow_forwardI am struggling with this program question for the last few hours. Could you please assist? Write a program that prompts user to enter make, model, color and year of their car. Store the input data in a dictionary and a list. The dictionary has "make", "model", "color", and "year" as keys. The dictionary values are user inputted data. In addition, store the input data in a list also. Store the make, model, color and year of the car in a list. Display the dictionary and list. Here are sample program run. Your program output message should be similar to below. Make sure use other inputs to verify the correctness of the program. What is the make of your car? Ford What is the model of your car? Taurus What is color of your car? white What is the year of your car? 1997 Car info dictionary: {'make': 'Ford', 'model': 'Taurus', 'color': 'white', 'year': 1997} Car info list: ['Ford', 'Taurus', 'white', 1997] (I am getting syntax errors all over the place) I do have tutoring sessions but I'm in...arrow_forward
- This code is full of errors, what are 4 of them and how I would fix them?arrow_forwardIn python: student_dict is a dictionary with students' name and pedometer reading pairs. A new student is read from input and added into student_dict. For each student in student_dict, output the student's name, followed by "'s pedometer reading: ", and the student's pedometer reading. Then, assign average_value with the average of all the pedometer readings in student_dict..arrow_forwardIn Python, create a telephone dictionary where the user is asked whether they wish to add, remove,modify, search for a telephone number (given the name), or exit. Use functions for each one ofthe four different operations. Use an infinite looparrow_forward
- Text book imageComputer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONText book imageComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceText book imageNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Text book imageConcepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningText book imagePrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationText book imageSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY