1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Lynna [10]
3 years ago
11

Write a program that first reads in the name of an input file and then reads the input file using the file.readlines() method. T

he 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
Note: There is a newline at the end of each output file, and file1.txt is available to download.
currently, my code is:
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]
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()
dict = readFile(filename)
if dict is None:
print('Error: Invalid file name provided: {}'.format(filename))
return
output_filename_1 ='output_keys.txt'
output_filename_2 ='output_titles.txt'
output_keys(dict,output_filename_1)
print()
output_titles(dict,output_filename_2)
main()
The problem is that when I go to submit and the input changes, my output differs.
Output differs. See highlights below. Special character legend Input file2.txt Your output 7: Lux Video Theatre; Medium; Rules of Engagement 8: Barney Miller;Castle; Mama 10: Friends; Modern Family; Smallville;Will & Grace 11: Cheers;The Jeffersons 12: Murder, She Wrote;NYPD Blue 14: Bonanza;Dallas 15: ER 20: Gunsmoke; Law & Order; Law & Order: Special Victims Unit 30: The Simpsons Expected output 7: Rules of Engagement; Medium; Lux Video Theatre 8: Mama; Barney Miller; Castle 10: Will & Grace; Smallville; Modern Family; Friends 11: Cheers; The Jeffersons 12: Murder, She Wrote; NYPD Blue 14: Dallas; Bonanza 15: ER 20: Gunsmoke; Law & Order; Law & Order: Special Victims Unit 30: The Simpsons
Computers and Technology
1 answer:
topjm [15]3 years ago
6 0

Answer:

Explanation:

The following is written in Python. It creates the dictionary as requested and prints it out to the output file as requested using the correct format for various shows with the same number of seasons.The output can be seen in the attached picture below.

mydict = {}

with open("file1.txt", "r") as showFile:

 for line in showFile:

   cleanString = line.strip()

   seasons = 0

   try:

       seasons = int(cleanString)

       print(type(seasons))

   except:

       pass

   if seasons != 0:

       showName = showFile.readline()

       if seasons in mydict:

           mydict[seasons].append(showName.strip())

       else:

           mydict[seasons] = [showName.strip()]

f = open("output.txt", "a")

finalString = ''

for seasons in mydict:

   finalString += str(seasons) + ": "

   for show in mydict[seasons]:

       finalString += show + '; '

   f.write(finalString[:-2] + '\n')

   finalString = ''

f.close()

You might be interested in
Which element is represented by the electron configuration in example B? Example B: 1s22s22p63s23p64s1 Aluminum Cesium Potassium
SSSSS [86.1K]

Answer:

Potassium

Explanation:

potassium because all of the others are being used and potassium is not being used in example b

8 0
3 years ago
Read 2 more answers
What is entered into a cell that is typically numeric and can be used for calculations?
Romashka-Z-Leto [24]

Value is entered into a cell that is typically numeric and can be used for calculations. Correct answer: A

The numbers, which can later be used in formulas, are called values, while labels are all words describing the values (numbers).

Calculations can be made only with numbers (values).

4 0
3 years ago
Read 2 more answers
Why is the answer A?
vitfil [10]
HashSet changes the array to be in alphabetical order. It also removes any items that are in the array twice.
7 0
4 years ago
How does Accenture help companies harness the power of data to achieve optimal business outcomes?
EleoNora [17]

Accenture help companies harness the power of data to achieve optimal business outcomes as they develop data governance frameworks that go on to form the basis of the company's data analytics strategy.

<h3>What is Accenture known for?</h3>

Accenture is known to be a body that is known for its different range of service that they do offer as well as their  practice areas. These is made up of: strategy, management, digital, technology, and also that of operations consulting.

Accenture is known to be one that tends to helps a lot of firms to be able to make full use of the power of data to be able to get the proper market benefits from the data and they also allow the firms to learn and describe the "art of the possible" via the use of their data and analysis.

Therefore, Accenture help companies harness the power of data to achieve optimal business outcomes as they develop data governance frameworks that go on to form the basis of the company's data analytics strategy.

Learn more about Accenture  from

brainly.com/question/25682883

#SPJ1

See full question below

How does Accenture help companies harness the power of data to achieve optimal business outcomes?

- They help companies think about and define the "art of the possible" with their data assets.

- They develop data governance frameworks that go on to form the basis of the company's data analytics strategy.

- They utilize only their Data and Analytics Platform to enable companies.

- They provide an interactive front end for a database solution that changes the data culture.

5 0
2 years ago
If you reformat the hard drive on a computer, it erases all personal information from your computer and makes it safe to donate.
melamori03 [73]
The answer would be false
8 0
4 years ago
Other questions:
  • Write a unit test for addInventory(). Call redSweater.addInventory() with parameter sweaterShipment. Print the shown error if th
    9·2 answers
  • ____ is an object-oriented programming language from Sun Microsystems which allows small programs called applets to be embedded
    13·1 answer
  • Which of the following statement is most accurate? A. A reference variable is an object. B. A reference variable refers to an ob
    6·1 answer
  • State three differences between a hard drive and a pen drive​
    6·1 answer
  • I have answered 22 questions and my messages are still not working what is it that i'm doing wrong?
    6·1 answer
  • Which of the following best describes the protocol used on the internet?
    8·1 answer
  • 9. Differentiate between bolding and highlighting<br>text.<br>(2 marks)​
    15·2 answers
  • PLZ HELP I DIDNT MEAN TO CLICK THAT ANSWR I NEEDD HELP
    15·1 answer
  • What are the best ways to conduct research for a presentation? Check all that apply.
    7·2 answers
  • Which method can be used for making a robot perform a different set of functions?
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!