【发布时间】:2019-05-19 11:06:10
【问题描述】:
我正在尝试为我的班级建立一个团队名册。我得到了代码不会产生任何错误的地方,但是当我编辑一个成员时,它会将一个成员添加到字典中,而不是编辑我告诉它的成员。
对于作业,我们必须有一个类(我还没有完全理解它的意义),而且我之前写过一个代码,当我们只是添加名称时,我能够主要使用只是一个 while 循环,但因为我没有 def 语句,所以我的分数被删除了。
class nameClass:
name = ""
phoneNumber = ""
jerseyNumber = ""
def __int__(self, name, phoneNumber, jerseyNumber):
self.name = name
self.phoneNumber = phoneNumber
self.jerseyNumber = jerseyNumber
def setname(self, name):
self.name = name
def setphoneNumber(self, phoneNumber):
self.phoneNumber = phoneNumber
def setjerseyNumber(self, jerseyNumber):
self.jerseyNumber = jerseyNumber
def getname(self):
return self.name
def getphoneNumber(self):
return self.phoneNumber
def getjerseyNumber(self):
return self.jerseyNumber
def displayData(self):
print(" ")
print("Player information: ")
print("-------------------------")
print("Name: ", self.name)
print("Phone number: ", self.phoneNumber)
print("Jersey number: ", self.jerseyNumber)
def displayMenu():
print("=========Main Menu=========")
print("1. Display Roster.")
print("2. Add Member.")
print("3. Remove Member.")
print("4. Edit Member.")
print("9. Exit Program.")
print(" ")
return int(input("Selection > "))
def printMembers(members):
if menuSelection == 1:
print("Team Roster:")
for x in members.keys():
print("Name: ", x, "\tPhone Number: ", x, "\tJersey Number: ", members[x])
print()
def addMember(members):
if menuSelection == 2:
newName = input("Enter new member's name: ")
newphoneNumber = int(input("Enter member's phone number: "))
newjerseyNumber = int(input("Enter member's jersey number: "))
members[newName] = (newName, newphoneNumber, newjerseyNumber)
return members
def removeMember(members):
if menuSelection == 3:
name = input("Enter the member's name you would like to remove: ")
if name in members:
del members[name]
else:
print("Member: ", name, "not found.")
return members
def editMember(members):
if menuSelection == 4:
oldName = input("Enter the name of the member you would like to edit: ")
if oldName in members:
newName = input("Enter the member's new name: ")
newphoneNumber = int(input("Member's new phone number: "))
newjerseyNumber = int(input("Member's new jersey number: "))
members[newName] = (newName, newphoneNumber, newjerseyNumber)
else:
print("No such member in memory.")
return members
print("Welome to the Team Manager")
members = {}
menuSelection = displayMenu()
while menuSelection != 9:
if menuSelection == 1:
printMembers(members)
elif menuSelection == 2:
members = addMember(members)
elif menuSelection == 3:
members = removeMember(members)
elif menuSelection == 4:
members = editMember(members)
menuSelection = displayMenu()
print("Exiting Program...")
就像我说的那样,运行时一切似乎都运行良好,但您意识到当您打印花名册时,它会添加一个新成员,而不是像您告诉它的那样进行编辑。
【问题讨论】:
-
为什么定义
nameClass却从不使用它? -
我的第一堂编程课已经到了第 5 周。我主要是离开给出的示例代码。我已经尝试阅读有关类语句的内容,但我不明白为什么这个作业的示例中有一个。
标签: python class dictionary edit