Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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()