python - 如何在我的评分系统上用 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]}
在使用简单的代码时有什么技巧可以做到这一点?
解决方案
每当您发现自己在编写像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":[]}
}
推荐阅读
- python - AWS Step Function 中的 AWS Fargate 任务中的覆盖命令
- android - 运算符“<”不能无条件
- flutter - 单击 [Flutter] 时,DropdownMenu 未打开
- node.js - 如何在nodejs中集成payoneer
- c# - 我的统一预制件在一个接一个生成时没有运行脚本(使用 XR 控制器)
- c# - Microsoft Json 规则引擎自定义错误消息
- ios - Swift Detect UISlider 图像点击
- react-native - 在 React Native 中压缩图像/视频
- linux - GIT push 命令什么都不做 - 命令在 1 秒内完成
- c# - 实现这一点的最佳方法?