これを呼び出したときにデータを表示するために取得するには、これはコードですPythonの3 - カントは
class Roster:
def __init__(self, name, phone, jersy):
self.name = name
self.phone = phone
self.jersy = jersy
def setName(self, name):
self.name = name
def setPhone(self, phone):
self.phone = phone
def setnumber(self, jersy):
self.number = jersy
def getName(self):
return self.name
def getPhone(self):
return self.phone
def getNumber(self):
return self.jersy
def displayMenu(self):
print ("==========Selection Menu==========")
print ("1. Display the Roster")
print ("2. Add a Player to the Roster")
print ("3. Remove a Player from the Roster")
print ("4. Change a Player Name displayed in the Roster")
print ("5. Load the Roster")
print ("6. Save the Roster")
print ("7. Quit")
print()
return int (input ("Selection>>> "))
def displayRoster(self):
print ("****Team Roster****")
print ("Player's Name:", self.name)
print ("Player's Telephone number:", self.phone)
print ("Player's Jersey number:", self.jersy)
「名簿」クラスで定義された関数である:(私はあなたが「インポート」クラスを持っていないことを理解し)は、インポートの呼び出しがないので、自分自身への
Players = {}
def addPlayer(Players):
newName = input ("Add a player's Name: ")
newPhone = input ("Phone number: ")
newNumber = input ("Jersey number: ")
Players[newName] = newName, newPhone, newNumber
return Players
def removePlayer(Players):
removeName = input ("What name would you like to remove? ")
if removeName in Players:
del Players[removeName]
else:
print ("Name was not found!")
return Players
def editPlayer(Players):
oldName = input ("What name would you like to change? ")
if oldName in Players:
newName = input ("What is the new name? ")
newPhone = input ("Phone number: ")
newNumber = input ("Jersey number: ")
Players[newName] = newName, newPhone, newNumber
del Players[oldName]
print ("***", oldName, "has been changed to", newName)
else:
print ("Name was not found!")
return Players
def saveRoster(Players):
print("Saving data...")
outFile = open("D:\Documents\Grantham\Python Projects\Python Week Six\Roster.txt", "wt")
for x in Players.keys():
name = Roster.getName(Players)
phone = Roster.getPhone(Players)
jersy = Roster.getNumber(Players)
outFile.write("name+","+phone+","+jersy+","\n")
print("Data saved.")
outFile.close()
return Players
def loadRoster():
Players = {}
filename = input("Filename to load: ")
inFile = open(Filename(Players), "rt")
print("Loading data...")
while True:
inLine = inFile.readline()
if not inLine:
break
inLine = inLine[:-1]
name, phone, jersy = inLine.split(",")
Players[name] = RosterClass.Players(name, phone, jersy)
print("Data Loaded Successfully.")
inFile.close()
return Players
print ("Welcome to the Team Manager")
menuSelection = Roster.displayMenu ('Players')
while menuSelection != 7:
if menuSelection == 1:
myRoster.displayRoster (Players)
elif menuSelection == 2:
Players = addPlayer (Players)
elif menuSelection == 3:
Players = removePlayer (Players)
elif menuSelection == 4:
Players = editPlayer (Players)
elif menuSelection==5:
loadRoster(Players)
elif menuSelection==6:
saveRoster(Players)
menuSelection = Roster.displayMenu (Players)
print ("Exiting Program...")
私はこのエラーを取得しておいてください。
Traceback (most recent call last):
File ".idea/Adv Team Roster.py", line 108, in <module>
Roster.displayRoster ('Players')
File ".idea/Adv Team Roster.py", line 39, in displayRoster
print ("Player's Name:", self.name)
AttributeError: 'str' object has no attribute 'name'
私もセーブ/ロード・ルーチンに問題を抱えていますそれは別の投稿です。
完全な 'Roster'クラスの定義を表示してください。 – alecxe
クラスをインスタンス化しましたか?コードを表示 –