Question
Please answer the following question in Python. I have asked this question twice before so please try to match the output perfectly so that I
Please answer the following question in Python. I have asked this question twice before so please try to match the output perfectly so that I can finish this question! I will provide an existing code Chegg has submitted and the errors and grading criteria from that. Either new code or this code edited to fix the errors is fine as long as it matches the points required! Thank you in advance.
This program will store roster and rating information for a soccer team. Coaches rate players during tryouts to ensure a balanced team.
(1) Prompt the user to input five pairs of numbers: A player's jersey number (0 - 99) and the player's rating (1 - 9). Store the jersey numbers and the ratings in a dictionary. Output the dictionary's elements with the jersey numbers in ascending order (i.e., output the roster from smallest to largest jersey number). Hint: Dictionary keys can be stored in a sorted list. (3 pts) Ex:
Enter player 1's jersey number: 84 Enter player 1's rating: 7 Enter player 2's jersey number: 23 Enter player 2's rating: 4 Enter player 3's jersey number: 4 Enter player 3's rating: 5 Enter player 4's jersey number: 30 Enter player 4's rating: 2 Enter player 5's jersey number: 66 Enter player 5's rating: 9 ROSTER Jersey number: 4, Rating: 5 Jersey number: 23, Rating: 4 Jersey number 30, Rating: 2 ...
(2) Implement a menu of options for a user to modify the roster. Each option is represented by a single character. The program initially outputs the menu, and outputs the menu after a user chooses an option. The program ends when the user chooses the option to Quit. For this step, the other options do nothing. (2 pts) Ex:
MENU a - Add player d - Remove player u - Update player rating r - Output players above a rating o - Output roster q - Quit Choose an option:
(3) Implement the "Output roster" menu option. (1 pt) Ex:
ROSTER Jersey number: 4, Rating: 5 Jersey number: 23, Rating: 4 Jersey number 30, Rating: 2 ...
(4) Implement the "Add player" menu option. Prompt the user for a new player's jersey number and rating. Append the values to the two vectors. (1 pt) Ex:
Enter a new player's jersey number: 49 Enter the player's rating: 8
(5) Implement the "Remove player" menu option. Prompt the user for a player's jersey number. Remove the player from the roster (delete the jersey number and rating). (1 pt) Ex:
Enter a jersey number: 4
(6) Implement the "Update player rating" menu option. Prompt the user for a player's jersey number. Prompt again for a new rating for the player, and then change that player's rating. (1 pt) Ex:
Enter a jersey number: 23 Enter a new rating for player: 6
(7) Implement the "Output players above a rating" menu option. Prompt the user for a rating. Print the jersey number and rating for all players with ratings above the entered value. (2 pts) Ex:
Enter a rating: 5 ABOVE 5 Jersey number: 66, Rating: 9 Jersey number: 84, Rating: 7 ...
Existing Code with Errors
roster = {}
# Define a function to output the roster in ascending order of jersey number def output_roster(): print("ROSTER") for key in sorted(roster.keys()): print("Jersey number: {}, Rating: {}".format(key, roster[key]))
# Define a function to add a player to the roster def add_player(): jersey_number = int(input("Enter a new player's jersey number: ")) rating = int(input("Enter the player's rating: ")) roster[jersey_number] = rating
# Define a function to remove a player from the roster def remove_player(): jersey_number = int(input("Enter a jersey number: ")) del roster[jersey_number]
# Define a function to update a player's rating def update_rating(): jersey_number = int(input("Enter a jersey number: ")) new_rating = int(input("Enter a new rating for player: ")) roster[jersey_number] = new_rating
# Define a function to output players above a rating def output_above_rating(): rating = int(input("Enter a rating: ")) print("ABOVE {}".format(rating)) for key, value in roster.items(): if value > rating: print("Jersey number: {}, Rating: {}".format(key, value))
# Output the initial roster for i in range(1, 6): jersey_number = int(input("Enter player {}'s jersey number: ".format(i))) rating = int(input("Enter player {}'s rating: ".format(i))) roster[jersey_number] = rating
output_roster()
# Define the menu options menu = """ MENU a - Add player d - Remove player u - Update player rating r - Output players above a rating o - Output roster q - Quit """
# Prompt the user to choose an option option = "" while option != "q": print(menu) option = input("Choose an option: ") if option == "o": output_roster() elif option == "a": add_player() elif option == "d": remove_player() elif option == "u": update_rating() elif option == "r": output_above_rating()
Grading Criteria/ Errors
Output is nearly correct, but whitespace differs. See highlights below. Enter player 1's jersey number: Enter player 1 's rating: Enter player 2's jersey number: Enter player 2s rating: Enter player 3's jersey number: Enter player 3s rating: Enter player 4's jersey number: Enter player 4 's rating: Enter player 5's jersey number: Enter player 5s rating: ROSTER. Jersey number: 4, Rating: 5 Jersey number: 23, Rating: 4 Jersey number: 30, Rating: 2 Jersey number: 66, Rating: 9 Jersey number: 84, Rating: 7 MENU a - Add player d - Remove player u - Update player rating r - Output players above a rating - Output roster q - Quit Choose an option: Enter player 1s jersey number: Enter player 1s rating: Enter player 2s jersey number: Enter player 2s rating: Enter player 3j jersey number: Enter player 3s rating: Enter player 4j jersey number: Enter player 4s rating: Enter player 5 s jersey number: Enter player 5s rating: ROSTER Jersey number: 4, Rating: 5 Jersey number: 23, Rating: 4 Jersey number: 30, Rating: 2 Jersey number: 66 , Rating: 9 Jersey number: 84, Rating: 7 MENU a - Add player d - Remove player u - Update player rating r - Output players above a rating 0 - Output roster q - Quit Choose an option: 4:Compare output ^ ROSTER Jersey number: 4, Rating: 5 Jersey number: 23, Rating: 4 Jersey number: 30, Rating: 2 Jersey number: 66, Rating: 9 Jersey number: 84, Rating: 7 MENU a - Add player d - Remove player u - Update player rating r - Output players above a rating - Output roster q - Quit Choose an option: Your output correctly MENU ends with a - Add player ROSTER Jersey number: 4, Rating: 5 Jersey number: 23, Rating: 4 Jersey number: 30, Rating: 2 Jersey number: 55, Rating: 6 Jersey number: 66, Rating: 9 Jersey number: 84, Rating: 7 MENU a - Add player d - Remove player u - Update player rating r- Output players above a rating - Output roster q - Quit Choose an option: 6: Compare output 7:Compare output \begin{tabular}{l} 84 \\ 7 \\ 23 \\ 4 \\ 4 \\ 5 \\ 30 \\ 2 \\ 66 \\ 9 \\ r \\ 4 \\ 9 \\ \hline \end{tabular} ABOVE 4 Jersey number: 4, Rating: 5 Jersey number: 66, Rating: 9 Jersey number: 84, Rating: 7 MENU a - Add player d - Remove player u - Update player rating r - Output players above a rating - Output roster q - quit Choose an option: 9:Compare output AStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started