我需要帮助制作一个程序,该程序将采用字典的随机值并将它们放入另一个

I need help making a program that will take random values of a dictionary and put them in another

这是针对我正在尝试在 python 中编写的测验。我不知道如何继续我的程序的这一部分,因为我对编程很陌生,但基本上我试图将 dico_q_ran 的键值设置为从 [=16 中随机获取的值=].

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_bankdico_q_ran 使用列表,因为您的键是序列号,这就是列表的用途:

q_bank = [
    {
        "question": "...",
        "answer": "...",
    },
}

这也将帮助您更轻松地解决另一个问题。当前的随机化并不能保证同一个问题不会被使用两次。使用列表变得如此简单:

dico_q_alea = random.sample(q_bank, 10)