NameError: variable is not defined
NameError: variable is not defined
需要一些帮助。我创建了一个空列表来附加输入的名称。但是,我不断收到错误消息“NameError: name 'players' is not defined。如果我将 players = [] 定义为全局变量而不是主函数,它就会起作用。仅供参考,我不允许使用全局变量。
def existingPlayers(name):
'''
Check if player name already exists
'''
for player in players:
if player[0].lower() == name.lower():
return True
return False
def getPlayerNames():
'''
Get the names of the players. Check if the number of players and
player names are valid
'''
while True:
name = input("Enter player name or <ENTER> to exit (min 2, max 4 players):")
if len(name) == 0:
if len(players) < 2:
print(f"Minimum 2 players. Currently, {len(players)} player")
continue
else:
break
if existingPlayers(name):
print("Repeated name. Choose another name")
continue
players.append([name])
if len(players) == 4:
break
def main():
players = []
getPlayerNames()
main()
这是你想要的吗?
def existingPlayers(name, players):
'''
Check if player name already exists
'''
for player in players:
if player[0].lower() == name.lower():
return True
return False
def getPlayerNames(players):
'''
Get the names of the players. Check if the number of players and
player names are valid
'''
while True:
name = input("Enter player name or <ENTER> to exit (min 2, max 4 players):")
if len(name) == 0:
if len(players) < 2:
print(f"Minimum 2 players. Currently, {len(players)} player")
continue
else:
break
if existingPlayers(name, players):
print("Repeated name. Choose another name")
continue
players.append([name])
if len(players) == 4:
break
def main():
players = []
getPlayerNames(players)
main()
需要一些帮助。我创建了一个空列表来附加输入的名称。但是,我不断收到错误消息“NameError: name 'players' is not defined。如果我将 players = [] 定义为全局变量而不是主函数,它就会起作用。仅供参考,我不允许使用全局变量。
def existingPlayers(name):
'''
Check if player name already exists
'''
for player in players:
if player[0].lower() == name.lower():
return True
return False
def getPlayerNames():
'''
Get the names of the players. Check if the number of players and
player names are valid
'''
while True:
name = input("Enter player name or <ENTER> to exit (min 2, max 4 players):")
if len(name) == 0:
if len(players) < 2:
print(f"Minimum 2 players. Currently, {len(players)} player")
continue
else:
break
if existingPlayers(name):
print("Repeated name. Choose another name")
continue
players.append([name])
if len(players) == 4:
break
def main():
players = []
getPlayerNames()
main()
这是你想要的吗?
def existingPlayers(name, players):
'''
Check if player name already exists
'''
for player in players:
if player[0].lower() == name.lower():
return True
return False
def getPlayerNames(players):
'''
Get the names of the players. Check if the number of players and
player names are valid
'''
while True:
name = input("Enter player name or <ENTER> to exit (min 2, max 4 players):")
if len(name) == 0:
if len(players) < 2:
print(f"Minimum 2 players. Currently, {len(players)} player")
continue
else:
break
if existingPlayers(name, players):
print("Repeated name. Choose another name")
continue
players.append([name])
if len(players) == 4:
break
def main():
players = []
getPlayerNames(players)
main()