我的作业存在问题我无法弄清楚如何修改当前代码以反映我的作业中需要的内容。我必须能够将我的团队成员姓名包含在电话号码和球衣号码中。我还必须能够保存新信息。任何人都可以帮忙解释一下吗?
我希望了解在出现在名称,手机和球衣内显示信息时我的错误。现在,它仅为名称s
提供输出,为数字提供h
,为球衣号提供a
。当试图删除成员中的某个人时,它不会删除。
我的代码初始代码如下:
members=['shay', 'lee']
def printMenu():
print("===========Main Menu===========")
print("1. Display Team Roster.")
print("2. Add Member.")
print("3. Remove Member.")
print("4. Edit Member.")
print("9. Exit Program.")
while printMenu()!='9':
sele=int(input("Enter Choice: "))
if sele==1:
for i in members:
print(i)
if sele==2:
name=input("Enter new member's name: ")
members.append(name)
for i in members:
print(i)
if sele==3:
name=input("Enter member name to be removed: ")
members.remove(name)
for i in members:
print(i)
if sele==4:
name=input("Enter the name of the memeber you want to edit: ")
i=members.index(name)
name2=input("Enter the new name of the member: ")
members.remove(name)
members.insert(i,name2)
for i in members:
print(i)
elif sele==9:
print("Have A Great Day!")
bye=exit()
bye
这就是我的尝试:
class Member:
def __init__(self):
members=["shay, 702546445,69","lee,564565.89"]
self.members=members
def addMember(self,name,phone,jersey):
members=self.members
nm=[name,phone,jersey]
self.members.append(nm)
def display(self):
members=self.members
for p in members:
print("Name= {0}, Phone Number ={1}, Jersey{2}".format(p[0],p[1],p[2]))
def remove(self,name):
members=self.members
for p in members:
if p[0]==name:
self.members.remove(p)
def edit(self,name,name2):
members=self.members
for p in members:
if p[0]==name:
self.members.remove(p)
p[0]=name2
self.members.append(p)
def printMenu():
print("===========Main Menu===========")
print("1. Display Team Roster.")
print("2. Add Member.")
print("3. Remove Member.")
print("4. Edit Member.")
print("9. Exit Program.")
member=Member()
while True:
printMenu()
sel=int(input("Selection>"))
if sel==1:
member.display()
if sel==2:
name=input("Enter new member's name: ")
number=input("Enter new member's phone number: ")
jersey=input("Enter new member's jersey number: ")
member.addMember(name,number,jersey)
if sel==3:
name=input("Enter member name to be removed: ")
member.remove(name)
if sel==4:
name=input("Enter the name of the memeber you want to edit: ")
name2=input("Enter the new name of the member: ")
member.edit(name,name2)
if sel==9:
sys.exit()
答案 0 :(得分:0)
以面向对象的编程。
我们创造对象。这是对象的示例定义。我叫它Member
。在Python中,大写首字母通常表示这是class
定义。哪个术语用于描述对象的模板
class Member(object):
def __init__(self, field_1, field_2):
self.field_1 = field_1
self.field_2 = field_2
这是实例化我的Member
对象的示例。
>>> member = Member(1,2) # <- Instantiating
>>> member.field_1 # <- Accessing a field
1
>>> member.field_2
2
请注意我是如何调用实例member
而不是Member
。
成员实例有两个attributes
类,Member
类在类__init__
方法中定义。 field_1
和field_2
。
self
方法签名中的奇怪__init__
参数可能是我创建的member
实例。你可以看到两个任务已经完成。 self.field_1 = field_1
...
如果您能够理解所有这些,那么您可以很好地将这些知识运用到您的问题中。