Python 3.x 初学者Python列表,定义变量

Python 3.x 初学者Python列表,定义变量,python-3.x,Python 3.x,所以我最初只使用了几个if,elif语句就完成了这个任务。但有人要求我将这些声明的工作分解成一个单独的函数,作为额外的练习。我需要获得的名称添加到一个列表,并有能力编辑或删除的名称。但是我很难让函数将其输出返回到列表中 这是我到目前为止所拥有的 print("Roster Management") def addplayer(): name=input("Enter new player name: ") roster = [name] list(roster)

所以我最初只使用了几个if,elif语句就完成了这个任务。但有人要求我将这些声明的工作分解成一个单独的函数,作为额外的练习。我需要获得的名称添加到一个列表,并有能力编辑或删除的名称。但是我很难让函数将其输出返回到列表中

这是我到目前为止所拥有的

print("Roster Management")


def addplayer():
    name=input("Enter new player name: ")
    roster = [name]
    list(roster)
    roster.append(name)

def removeplayer():
    name = input('Enter player for removal: ')
    roster.remove(name)


def editplayer():
    oldname = input('Enter name you want to edit: ')
    newname = input('Enter new name: ')
    [x.replace(oldname, newname) for x in roster]


while 1==1:
    print('---------- Main Menu ------------')
    print("Choose from the following options")
    print('1. Display Team Roster')
    print('2. Add Member')
    print('3. Remove Member')
    print('4. Edit Member')
    print('9. Exit Program')
    print(" ")
    selection = input("Enter Selection: ")
    if selection == '1':
        for x in roster:
            print(roster)
    elif selection == '2':
        addplayer()
    elif selection == '3':
        removeplayer()
    elif selection == '4':
        editplayer()
    elif selection == '9':
        print("Closing program...")
        break`enter code here`

在定义的末尾,因为现在定义不知道应该返回什么。同样在你的,如果陈述中你应该

print(def()) 
而不仅仅是

def()

希望这对您有所帮助

您的代码几乎没有问题:

#1 #2 #3 #4 因此,使用这些更改更新的代码如下所示:

roster = [] 
def addplayer():
    name=input("Enter new player name: ")
    roster.append(name)

def removeplayer():
    name = input('Enter player for removal: ')
    roster.remove(name)


def editplayer():
    global roster
    oldname = input('Enter name you want to edit: ')
    newname = input('Enter new name: ')
    roster = [newname if x == oldname else oldname for x in roster]


print("Roster Management")
while 1==1:
    print('---------- Main Menu ------------')
    print("Choose from the following options")
    print('1. Display Team Roster')
    print('2. Add Member')
    print('3. Remove Member')
    print('4. Edit Member')
    print('9. Exit Program')
    print(" ")
    selection = input("Enter Selection: ")
    if selection == '1':
        for x in roster:
            print(x)
    elif selection == '2':
        addplayer()
    elif selection == '3':
        removeplayer()
    elif selection == '4':
        editplayer()
    elif selection == '9':
        print("Closing program...")
        break
roster = [name] # this creates a new list with a single element in it instead of appending to some existing list
list(roster) # you're trying to convert a list to a list, so not needed
roster.append(name) # you should've some local/global roaster to append to
def removeplayer():
    name = input('Enter player for removal: ')
    roster.remove(name) # again, you should've some local/global roaster to append to
    #in case of local you should return the list for further usage, in case of global you can simply remove
[x.replace(oldname, newname) for x in roster]
# again you're neither updating any existing list/ nor returned anything
# also check if `x==oldname` then replace with new name 
for x in roster:
    print(roster) # x is what you should be printing, not the whole list (roaster)
roster = [] 
def addplayer():
    name=input("Enter new player name: ")
    roster.append(name)

def removeplayer():
    name = input('Enter player for removal: ')
    roster.remove(name)


def editplayer():
    global roster
    oldname = input('Enter name you want to edit: ')
    newname = input('Enter new name: ')
    roster = [newname if x == oldname else oldname for x in roster]


print("Roster Management")
while 1==1:
    print('---------- Main Menu ------------')
    print("Choose from the following options")
    print('1. Display Team Roster')
    print('2. Add Member')
    print('3. Remove Member')
    print('4. Edit Member')
    print('9. Exit Program')
    print(" ")
    selection = input("Enter Selection: ")
    if selection == '1':
        for x in roster:
            print(x)
    elif selection == '2':
        addplayer()
    elif selection == '3':
        removeplayer()
    elif selection == '4':
        editplayer()
    elif selection == '9':
        print("Closing program...")
        break