Как правильно отформатировать мой код? - PullRequest
0 голосов
/ 06 апреля 2019
  1. Я пытался разрешить свой сценарий безрезультатно. Я не могу получить загрузить данные для отображения. Сохраняется в members.txt и может читать это вручную, если открыт. Если кто-то может дать любой другой совет по Сценарий в целом будет принята с благодарностью.

    Я заново изучил сильно измененный сценарий, но мне все еще не повезло.

    import os, если ' file ' в vars (): wk_dir = os.path.dirname (os.path.realpath (' file ')) else: распечатать Класс playerCLass (объект): name = "" телефон = "" число = 0

       def __init__(self, name, phone, number):
           self.name = name
           self.phone = phone
           self.number = number
    
    
       def setname(self, name):
           self.name = name
    
    
        def setphone(self, phone):
            self.phone = phone
    
        def setnumber(self, number):
            self.number = number
    
        def getname(self):
            return self.name
    
        def getphone(self):
            return self.phone
    
        def getnumber(self):
            return self.number
    
        def display_data(self):
            print("")
            print("Member information: ")
            print("Name:", self.name)
            print("Phone number:", self.phone)
            print("Jersey number:", self.number)
    
    
    def displayMenu():
        print("===========Menu Selections===========")
        print("1. Display Team Roster.")
        print("2. Add Member.")
        print("3. Remove Member.")
        print("4. Edit Member.")
        print("5. Save Data.")
        print("6. Load Data.")
        print("9. Exit Program.")
        print("")
        return int(input("<<Selection>> "))
    
    
    def printPlayer(players):
        print("Current members: ")
        if len(players) == 0:
            print("No current members in memory.")
        else:
            x = 1
            while x < len(players):
                print(x)
                x = x + 1
    
    
    def addPlayer(players):
        newName = input("Type in member's name to be added to the roster:")
        newPhone = input("Type in the member's phone number:")
        newNumber = int(input("Type in the member's jersey number:"))
        players[newName] = playerCLass(newName, newPhone, newNumber)
        return players
    
    
    def removePlayer(players):
        name = input("Enter member's name to be removed:")
        if name in players:
            del players[name]
        else:
            print("member's name not found in list: ")
        return players
    
    
    def editPlayer(players):
        oldName = input("Enter the name you want to edit: ")
        if oldName in players:
            newName = input("Enter a new name: ")
            newPhone = input("Enter new phone number: ")
            newNumber = int(input("Enter new jersey number: "))
            players[oldName] = playerCLass(newName, newPhone, newNumber)
        else:
            print("No such name in memory: ")
        return players
    
    
    def saveData():
        filename = input("Filename to save: ")
        print("Saving data...")
        outFile = open(filename, "wt")
        for x in players.keys():
            name = players[int(x)].getname()
            phone = players[int(x)].getphone()
            number = str(players[x].getnumber())
            outFile.write(name + "," + phone + "," + number +  "\n")
        print("Data saved.")
        outFile.close()
    
    
    def loadData():
        players = {}
        filename = input("Filename to load: ")
        inFile = open(filename, "rt")
        print("Loading data...")
        while True:
            inLine = inFile.readline()
            if not inLine:
                break
            inLine = inLine[:-1]
            name, phone, number = inLine.split(",")
            players[name] = (name, phone, number)
        print("Data Loaded Successfully.")
        inFile.close()
        return players
    
    
    print("Welcome to the Team Manager")
    players = {}
    menuSelection = displayMenu()
    print()
    while menuSelection != 9:
        if menuSelection == 1:
            printPlayer(players)
        elif menuSelection == 2:
            players = addPlayer(players)
        elif menuSelection == 3:
            players = removePlayer(players)
        elif menuSelection == 4:
            players = editPlayer(players)
        elif menuSelection == 5:
            saveData()
        elif menuSelection == 6:
            loadData()
        menuSelection = displayMenu()
    
    print("Exiting Program...")
    

1 Ответ

0 голосов
/ 06 апреля 2019

Если ваша проблема определенно не заставляет printPlayer работать, вы можете сделать

def printPlayer(players):
    print("Current members: ")
    if len(players) == 0:
        print("No current members in memory.")
    #Iterate through dictionary of player name and player object and call
    #display data on each of them
    else:
        for name, player in players.items():
            print(player.display_data())

Если вы затем выполните код и введете его в соответствии с написанными вами утверждениями, вы должны получить что-то вроде этого.

Welcome to the Team Manager
===========Menu Selections===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.

<<Selection>> 1
Current members: 
No current members in memory.
===========Menu Selections===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.

<<Selection>> 2
Type in member's name to be added to the roster:Joe
Type in the member's phone number:123
Type in the member's jersey number:456
===========Menu Selections===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.

<<Selection>> 1
Current members: 

Member information: 
Name: Joe
Phone number: 123
Jersey number: 456
None
===========Menu Selections===========
1. Display Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.

<<Selection>> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...