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