我是Python的新手(但不是编程人员),并且我对Python中的字典工作方式感到困惑。我有一个保存当前玩家得分的程序。每当游戏结束时,我都需要将分数保存在带有关键字“用户名”,“运行时”和“错误”的字典中。所以我的最终输出将是这样的:
得分-用户名-运行时-错误
10 ------- Jane -------- 7s -------- 3-
15 ------- Brian ------- 7s -------- 3-
12 ------- Dave -------- 7s -------- 3-
09 -------光环-------- 7s -------- 3-
在终端中,我应该显示我认为应该是的字典输出:
{ '10' : ['username': Jane, 'runtime': 7s, 'errors':3], '15' : ['username': Brian, 'runtime': 7s, 'errors':3], and so on and so forth
这可能吗?解决方法是什么?谢谢您的帮助
答案 0 :(得分:1)
每个字典元素由两部分组成: -键 -价值 键应唯一且不可变(字符串,整数,集合等)。 分数是不变的(整数),但可能并非唯一。如果多个玩家获得相同的分数,您将无法在相同的密钥下存储他们的数据。
请考虑以下结构:
以用户名为键的字典 {用户名:[分数,运行时,错误],...}
列表列表 [[用户名,分数,运行时,错误],...]
答案 1 :(得分:0)
要将分数保存在具有用户名键的字典中
scores = {}
scores["Name"] = [runtime, score]
然后使用scores["Name"][0] or score["Name"][1]
或者,如果您确实想使用“分数”或“运行时”之类的键,则可以在分数字典中使用其他字典。
scores = {}
scores["Name"] = {"runtime": 10, "score": 100}
并使用scores["Name"]["score"] or scores["Name"]["runtime"]
获取得分或运行时间。