这是我试图用python编程的测验。我不知道如何继续我的程序的这一部分,因为我对编程相当陌生,但本质上我试图将dico_q_ran的键值设置为从q_bank随机获取的值。
q_bank = {1 : {
"question" : "",
"answer" : ""
},
2 : {
"question" : "",
"answer" : ""
},
3 : {
"question" : "",
"answer" : ""}
etc...
25 : {
"question" : "",
"answer" : ""}
dico_q_ran = {0, 1 , 2, ...., 10}
for i in range(1, 11):
key_rand = (random.randrange(0,26))
dico_q_alea[i] = banque_de_questions[key_rand]
如果命名有点奇怪,我很抱歉,我从法语翻译了一些名字,这样对讲英语的人来说更有意义。
这里没有什么问题。首先,dico_q_ran
被定义为一个集合,而不是字典,因此dico_q_alea[i]
的赋值是不可能的。如果您希望它是一个字典,只需将其初始化为空dico_q_ran = {}
即可。不过,我会考虑使用列表。
其次,我建议对q_bank
和dico_q_ran
都使用列表,因为您的键是顺序数字,这就是列表的作用:
q_bank = [
{
"question": "...",
"answer": "...",
},
}
这也将帮助你更容易地解决另一个问题。目前的随机化并不能保证同一个问题不会被重复使用。对于列表,它变得像以下这样简单:
dico_q_alea = random.sample(q_bank, 10)