我正在制作一个小游戏,其中有三个选项出现,你必须选择正确的答案。显然,“A”不能一直是正确的答案,所以我想随机化3张照片,但也可以将它们定义为可以匹配正确的答案。
这是代码,我不知道从哪里开始。我考虑将代码的3个不同部分定义为1,2和3,然后将它们随机化。
我想要第一段代码,“这是正确答案”可以定义一个值,所以我可以说,如果选择= a那么......做得好的正确答案。 (我知道如何做这部分)
input("now press enter for your definitions")
#1st
#This prints the fruit, and the CORRECT matching fruit definitions
print(a, "is - A:", fruits[a])
#2nd
#these randomly generates 2 other fruit definitons
import random
with open('fruitdefinitions.txt') as f:
print (a, "is - B:", random.choice(list(f)))
#3rd
import random
with open('fruitdefinitions.txt') as f:
print (a, "is - C:", random.choice(list(f)))
只是为了澄清“a”是关键字,fruits [a]从字典中获取“a”的值或定义。 fruitdefinition.txt是一个只包含水果定义的文本文件。
谢谢。因为我忙于工作,所以不能马上回答。
答案 0 :(得分:2)
random.shuffle
是你的朋友。首先选择两个随机错误答案。将它们与正确的答案一起放在列表中。洗牌清单。一旦完成所有内容,只与用户(使用print
或其他任何内容)进行交互。
请注意,您当前选择错误答案的方式,在同一列表上调用random.choice两次,可能会导致两个不正确的答案相互之间完全相同。也许你可以想到一种不同的处理清单的方法,可以排除这种可能性。我认为random.shuffle
也可能参与其中。
以下示例说明了如何重新排序数据,而不必重新排序代码中的语句,以获得不同的结果:
import random
things = [ 'spam', 'eggs', 'beans' ]
for repeat in range(10): # exactly the same *code* will run 10 times...
print('the first item is ' + things[0])
print('the second item is ' + things[1])
print('the third item is ' + things[2])
random.shuffle(things) # ... but with a different outcome each time