如何用python在我的评分系统上编写更简单的代码

2024-09-27 07:26:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试编写一个更简单的代码,允许用户选择一个团队,然后加入一个团队活动,就像为不同的团队进行团队运动一样。我使用字典存储了不同的球员姓名和他们参加的活动。这是我为这本字典所做的一切

team1 = {"Team 1":["Martin","Kaz","Simba","Davis","Light"],"Score":[],"Event":[]}
team2 = {"Team 2":["John"],"Score":[],"Event":[]}
team3 = {"Team 3":["Kaz","Alex"],"Score":[],"Event":[]}
team4 = {"Team 4":["Jack","Pliskin"],"Score":[],"Event":[]}

我正在考虑制作一个新的def,让玩家选择他们希望他们的团队参加的活动,但问题是我不知道如何制作一个更简单的代码。我可以使用if/else语句来实现,但这需要花费很长时间,而且效率很低。这是我的理想输出

What Team did you pick?: Team 1)
What sport would you like your team to join?: Basketball
team1["Event"].append(chosen_sport)
print(team1)
 {"Team 1":["Martin","Kaz","Simba","Davis","Light"],"Score":[],"Event":["Basketball]}

在使用外观简单的代码时,有什么技巧可以做到这一点吗


Tags: 代码youevent字典团队whatteamlight
2条回答

你为什么用4种不同的口述?我不知道原因

我认为这种口述会更好:

teamsdata = {1:{'name':'team 1','members':['Martin','Kaz'],'score':[],'event':[]},
             2:{'name':'team 2','members':['John'],'score':[],'event':[]}
             }

通过这种方式,您可以使用以下方法解决此问题:

try:
    str_team = input('What Team did you pick?')
    team = int(str_team)
except ValueError as e:
    print(f'{str_team} is not a valid team.')
    raise

chosen_sport = input('What sport would you like your team to join?')

teamsdata[team]['event'].append(chosen_sport)

print(teamsdata[team])

每当您发现自己在编写变量时,如xxx1 = .../xxx2 = .../xxx3 = ...,几乎总是可以将其作为列表更好地处理

teams = [
    {"Team":["Martin","Kaz","Simba","Davis","Light"],"Score":[],"Event":[]},
    {"Team":["John"],"Score":[],"Event":[]},
    {"Team":["Kaz","Alex"],"Score":[],"Event":[]},
    {"Team":["Jack","Pliskin"],"Score":[],"Event":[]}
]

现在您可以参考teams[0]来获得团队1。也许你也需要一个“名字”。或者,在你的情况下,既然你已经有了钥匙,你可以做一个大的口述:

teams = {
    "Team 1":{"Team":["Martin","Kaz","Simba","Davis","Light"],"Score":[],"Event":[]},
    "Team 2":{"Team":["John"],"Score":[],"Event":[]},
    "Team 3":{"Team":["Kaz","Alex"],"Score":[],"Event":[]},
    "Team 4":{"Team":["Jack","Pliskin"],"Score":[],"Event":[]}
}

相关问题 更多 >

    热门问题