首页 > 解决方案 > 如何在我的评分系统上用 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]}

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

标签: pythonpython-3.xdictionary

解决方案


每当您发现自己在编写像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]得到Team 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":[]}
}

推荐阅读