向字典中的键添加更多值而不会覆盖现有值

时间:2019-01-12 15:30:08

标签: python python-3.x

我正在创建一个宾果游戏,用户在其中猜测五个数字,并且计算机在1-26之间取出十个随机数字。

我遇到的问题是,当用户猜测时,已经比较了数字并将其添加到字典中。如果我再玩一次“游戏”,它将覆盖最后几回合的分数(我想保留该分数)。

c=>c.property

mov cx,12 mov dx,1f34h st: push dx shr dx,cl and dl,15 print: add dl, 0x30 cmp dl, 0x39 jle go add dl, 0x7 go: mov ah, 0x2 int 0x21 sub cl,4 pop dx cmp cl,0 jl end_code jmp st end_code: 是包含字典的列表。

cpu_random是计算机随机生成的数字。

def user_vs_cpu(cpu_random): global players for player in players: correct_guess = 0 for guess in player["guess"]: for bingo_number in cpu_random: if guess == bingo_number: correct_guess += 1 player["points"] = {correct_guess} print(players) 是比较点的存储位置。

-编辑- 我忘了提及的是,名单上的玩家还有更多的决定,以便我可以在游戏中增加更多的玩家。

1 个答案:

答案 0 :(得分:0)

使用player["points"] = {correct_guess},由于花括号,您 correct_guess 变量变成了 set 对象。然后,您可以根据PythonDocs Set Types对该对象进行操作。那不是你想要的。就像建议的尝试使用带有 append 的列表一样,或者如果仅当前点很重要,则使用整数,例如:
player["points"] += 1

See also 'PythonDocs Data Structures'

建议:尝试熟悉像PyCharm这样的优秀IDE,将BreakPoint设置为player["points"] = {correct_guess}并查看出错的地方(您将能够同时查看所有变量/对象的状态。