将随机选择的键与字典中的正确值相匹配

时间:2018-03-14 14:53:48

标签: python python-3.x

我正在使用tkinter创建一个多选答案游戏,用户必须将正确的术语与定义匹配。到目前为止,我已经设法获得了四个按钮,每个按钮都有一个随机选择的定义,这个定义是从字典中提供的,然后添加到列表中,以便所有定义都在一个地方,我对条款做了同样的事情。该术语也将随机化。现在我只是想让程序与这些按钮中的至少一个匹配,以使其值与提供的术语相匹配。一旦用户按下正确的按钮,我就会打开一个带有“恭喜,你说对了”的新窗口。

以下是相关代码。

{{1}}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以实现所要求的一个选项可能是将random.choice()替换为random.randint(0, len(a)-1),其中 a 是您正在使用的序列(条款 Defs )。

rdDefAsInt = random.randint(0, len(a)-1)您将得到索引而不是对象,然后您可以使用该对象来获取所需对象,例如rdDef = Defs[rdDefAsInt],以便您可以将其设置为按钮标签

要查看用户是否为给定术语选择了正确的定义,您应该做的就是将术语的索引与定义的索引进行比较,如果它们相等,则可以显示“祝贺”消息。

例如:

termIndex = random.randint(0, len(Terms)-1)
TermLabel = Label(boot, text=(Terms[termIndex]),bg="grey")

answerOneIndex = random.randint(0, len(Defs)-1)
Answer1=Button(boot, text=(Defs[answerOneIndex]), width=75)

if answerOneIndex == termIndex:
   print('Congrats!')