Please (re-do) original did not work Team Management Part Three Until now, you h
ID: 3594010 • Letter: P
Question
Please (re-do) original did not work
Team Management Part Three
Until now, you have had to leave your team management program running on your computer indefinitely since you did not want to lose the list of players. Finally, you are ready to add the components to your team management program that will allow you to store the player’s information on your computer’s hard drive, thus, allow you to shut down your program without losing your data.
You will need to modify your program to:
include a Save option in the main menu which will prompt the program to write the player’s data to a text file.
modify the startup code so that the program calls a function that reads the player’s data from the text file into the list of member objects.
For this project:
You will submit your python code in either the original .py file, or copied into a .txt file.
A screenshot of your code having been executed (run)
Sample output:
C:>python week6.py
Welcome to the Team Manager
===========Main Menu===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.
Selection> 2
Enter new member's name: Nathan
Contact phone number: 505-908-0670
Jersey number: 21
===========Main Menu===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.
Selection> 2
Enter new member's name: Bobby
Contact phone number: 541-241-0670
Jersey number: 44
===========Main Menu===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.
Selection> 5
Filename to save: members.txt
Saving data...
Data saved.
===========Main Menu===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.
Selection> 9
Exiting Program...
C:>python week6.py
Welcome to the Team Manager
===========Main Menu===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.
Selection> 1
No current members in memory.
===========Main Menu===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.
Selection> 6
Filename to load: members.txt
Loading data...
Data Loaded Successfully.
===========Main Menu===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.
Selection> 1
Name: Bobby
Phone: 541-241-0670
Jersey Number: 44
Name: Nathan
Phone: 505-908-0670
Jersey Number: 21
===========Main Menu===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.
Selection>9
Exiting Program...
Explanation / Answer
class Players:
def __init__(self, name, phone_number, jersey_number):
self.__name = name
self.__phone_number = phone_number
self.__jersey_number = jersey_number
def set_name(self, name):
self.__name = name
def set_phone_number(self, number):
self.__phone_number = number
def set_jersey_number(self, number):
self.__jersey_number = number
def get_name(self):
return self.__name
def get_phone_number(self):
return self.__phone_number
def get_jersey_number(self):
return self.__jersey_number
def display_data(self):
print("Player: " + self.__name)
print("Phone number: " + str(self.__phone_number))
print("Jersey: " + str(self.__jersey_number))
input_exit = True
team = {}
menu = ["Display Team Roster.", "Add Member.", "Remove Member.", "Edit Member.",
"Save Data.", "Load Data.", "Exit Program."]
def print_welcome():
print("Welcome to the Team Manager Program! ")
def print_menu(menu):
count = 0
print(' ===========Main Menu===========')
for x in menu:
count += 1
if count is 7:
count = 9
print(str(count) + ". " + x)
user_input = input("Make a selection: ")
return user_input
def display_team(team):
if len(team) == 0:
print("No players in the team, please add one.")
else:
for x in team.keys():
team[x].display_data()
def add_member(team):
new_member = input("Name of new member: ")
new_phone_number = input("Phone number: ")
new_jersey_number = input("Jersey number: ")
team[new_member] = Players(new_member, new_phone_number, new_jersey_number)
print("Member added.")
return team
def delete_member(team):
member_delete = input("Member to delete: ")
if member_delete in team:
del team[member_delete]
print("Member deleted.")
else:
print(member_delete + " not found in player roster.")
return team
def edit_member(team):
member_edit = input("Member you want to edit: ")
if member_edit in team:
new_name = input("Enter the new name: ")
new_pn = int(input("Player's phone number: "))
new_jersey = int(input("Player's new jersey number: "))
team[member_edit] = Players(new_name, new_pn, new_jersey)
print(member_edit + " has been changed. New name: " + new_name)
else:
print("No player found on the roster with the name: " + member_edit)
return team
def save_data(team):
filename = input("Name of file to save: ")
print("Saving data...")
out_file = open(filename, "wt")
for x in team.keys():
name = str(team[x].get_name())
phone_number = str(team[x].get_phone_number())
jersey_number = str(team[x].get_jersey_number())
out_file.write(str(name+","+phone_number+","+jersey_number+" "))
print("Data saved.")
out_file.close()
def load_data(team):
file_name = input("Name of file to load: ")
in_file = open(file_name, "rt")
print("File loading...")
while True:
in_line = in_file.readline()
if not in_line:
break
in_line = in_line[:-1]
name, phone_number, jersey_number = in_line.split(",")
print(name + " " + jersey_number + " " + phone_number)
team[name] = Players(name, phone_number, jersey_number)
print("Data loaded successfully.")
in_file.close()
return team
def user_selection(user_input):
if user_input is "1":
display_team(team)
elif user_input is "2":
add_member(team)
elif user_input is "3":
delete_member(team)
elif user_input is "4":
edit_member(team)
elif user_input is "5":
save_data(team)
elif user_input is "6":
load_data(team)
elif user_input is "9":
global input_exit
input_exit = False
def main():
global input_exit
global menu
print_welcome()
while input_exit is True:
user_input = print_menu(menu)
user_selection(user_input)
main()