对于像游戏这样的垄断行业,我有一个部分询问用户不同玩家的姓名。
被询问的次数将基于先前的输入,该输入询问用户那里有多少位玩家。
然后,将为玩家数量设置不同的变量。
IE,如果输入中指定的玩家人数为4,则玩家1的变量将带有其输入的名称,依此类推,直到玩家4。
如何根据输入的玩家数量创建多个变量,并询问每个玩家的姓名?
变量看起来像这样:
player1 = John
player2 = Doe
player3 = Sam
答案 0 :(得分:1)
您可能想要一个变量。这可以是list
或dict
。在任何一种情况下,您可能都希望其中的dict
代表每个玩家的信息。因此,您将建立的list
如下所示:
players = [
{
"name": "Joe",
"money": 1234,
"properties": [
"Boardwalk",
]
"railroads": [
"Reading",
],
...
},
{
"name": "Sam",
"money": 4444,
"get_out_of_jail_card": true,
...
}
}
获取有关每个玩家的信息时,您可以建立此列表。从一个空列表开始,然后添加玩家:
startingMoneyValue = 20000
...
player_count = int(input("Enter number of players: "))
players = []
for i in range(player_count):
playerName = input("What is the next player's name?")
players.append({
"name": playerName,
"money": startingMoneyValue,
"properties": [],
"railroads": [],
...
})
这里的关键是,一旦创建了每个玩家的记录,您就可以轻松获取并修改该数据。例如,要获得第二位玩家的钱,您可以这样做:
money = players[1]['money']
第3名玩家通过时:
players[2]['money'] += 200
您可以预先初始化与每个玩家相关联的所有特定值,也可以稍后随情况添加一些值。
答案 1 :(得分:0)
您需要根据玩家数量来循环选择范围。我认为您无法像所要求的那样在脚本中生成变量。但是列表同样有效。
number_of_players = input("Enter number of players: ")
players = []
for player in range(number_of_players):
players.append(input(f'Enter player {player+1} name: '))
答案 2 :(得分:0)
您可以使用字典:
playerdict, players = {}, int(input('How many players are there?'))
for x in range(players):
playerdict[f'player{x+1}'] = input(f'What is player {x+1}\'s name?')