我正在创建一个宾果游戏,用户在其中猜测五个数字,并且计算机在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)
是比较点的存储位置。
-编辑- 我忘了提及的是,名单上的玩家还有更多的决定,以便我可以在游戏中增加更多的玩家。
答案 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}
并查看出错的地方(您将能够同时查看所有变量/对象的状态。