有没有办法在Python字典中附加第3个值?

阿诺德M904

这可能是一个愚蠢的问题,我相信我很有可能会采用完全错误的方法来解决我的问题,因此,如果有人知道更好的方法,请随时纠正我/将我指向正确的方向。

我正在尝试用Python制作一个基本的测验程序,但我似乎找不到一种很好的方法来实际用问题答案回答问题并存储正确的答案。理想情况下,我也希望将问题中的答案也打乱一下,例如,#1的答案也不一定总是“ A”,但是此步距目前太远了。

无论如何,我认为字典可以工作。我会做这样的事情:

test = {
    '1':    "What is 1+1?\nA) 2\nB) 11\nC) 1\nD) None of the above.\n\n", #A
    '2':    "What is 2+2?\nA) 2\nB) 4\nC) 1\nD) None of the above.\n\n", #B
    '3':    "What is 3+3?\nA) 2\nB) 11\nC) 6\nD) None of the above.\n\n", #C
    '4':    "What is 4+4?\nA) 2\nB) 11\nC) 1\nD) None of the above.\n\n", #D
    '5':    "What is 5+5?\nA) 2\nB) 11\nC) 10\nD) None of the above.\n\n", #C
    '6':    "What is 6+6?\nA) 2\nB) 12\nC) 1\nD) None of the above.\n\n", #B
    }

answer = raw_input(test['1'])

我可以使用它轻松地按顺序或随机进行一些修改即可打印出问题。但是,我没有办法在字典上附加正确的答案,这意味着我不得不做一些荒谬的if陈述。有人知道解决方案吗?有没有一种方法可以向每个字典条目添加第三个值?我完全忽略了变通办法吗?任何帮助将不胜感激。

亚当·史密斯

看来您在布置数据结构错误。您应该使用词典列表,而不是像其他答案所暗示的元组或列表字典。

questions = [
    {'question':"What is 1+1?\nA) 2\nB) 11\nC) 1\nD) None of the above.\n\n",
     'answer':"#A"},
    {'question':"What is 2+2?\nA) 2\nB) 4\nC) 1\nD) None of the above.\n\n",
     'answer':"#B"},
    ...}

这将使您遍历以下问题:

for q in questions:
    print(q['question'])
    ans = input(">> ")
    if ans == q['answer']:
        # correct!
    else:
        # wrong!

如果仍然需要数字,则可以将其另存number为字典的另一个键(作为数据库number的主键,使其类似于数据库中的行):

{'number': 1,
 'question': ...,
 'answer': ...}

或者只是通过迭代您的问题采用enumeratestart关键字参数

for q_num, q in enumerate(questions, start=1):
    print("{}. {}".format(q_num, q['question']))
    ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法从Racket中返回`(values 1 2 3)`的函数访问第n个返回值?

来自分类Dev

有没有办法从Racket中返回`(values 1 2 3)`的函数访问第n个返回值?

来自分类Dev

有没有办法让第3个div保持固定

来自分类Dev

有没有办法像python中的枚举列表一样查看字典?

来自分类Dev

有没有办法在python脚本中获取变量的所有值?

来自分类Dev

有没有办法检查单独的“列”中的两个值是否相等?

来自分类Dev

有没有办法从两个不同的数组中删除相同的值?

来自分类Dev

有没有办法在Python中包含±(正负)?

来自分类Dev

有没有办法在python中禁止舍入?

来自分类Dev

有没有办法在python中绘制z值

来自分类Dev

有没有办法在python中重置列表的值?

来自分类Dev

有没有办法只将递归的最后两个保存值保留在字典中并删除其余值?

来自分类Dev

有没有办法将python3中的reportlib中的PDF文件合并?

来自分类Dev

有没有办法在python中“堆叠”一个列表?

来自分类Dev

除了值/文本之外,有没有办法在使用 AJAX 填充的 DropDownList 中存储附加属性?

来自分类Dev

有没有办法将第二个根附加到 git 中的任意提交?

来自分类Dev

有没有办法附加到远程进程?

来自分类Dev

有没有办法访问结构的第n个元素?

来自分类Dev

有没有办法检查是否在 jQuery 中选择了第 n 个单选按钮?

来自分类Dev

有没有办法查看字符串是否与字典键匹配以及是否打印其值?Python

来自分类Dev

有没有办法在python 3中设置int的限制

来自分类Dev

有没有办法在python 3中设置int的限制

来自分类Dev

有没有办法在 HTML 结束标记 </html> 之后附加一个节点?

来自分类Dev

有没有办法将熊猫字典分组

来自分类Dev

在找到字符串值之前,有没有办法保持对嵌套字典的索引?

来自分类Dev

有没有办法使用键的值来比较两个字典?

来自分类Dev

有没有办法在代码隐藏中设置容器的第n个子代的样式?

来自分类Dev

有没有办法更改熊猫中附加的数据帧的ID?

来自分类Dev

有没有办法将数据附加到 unix 中的 .xml 文件?

Related 相关文章

  1. 1

    有没有办法从Racket中返回`(values 1 2 3)`的函数访问第n个返回值?

  2. 2

    有没有办法从Racket中返回`(values 1 2 3)`的函数访问第n个返回值?

  3. 3

    有没有办法让第3个div保持固定

  4. 4

    有没有办法像python中的枚举列表一样查看字典?

  5. 5

    有没有办法在python脚本中获取变量的所有值?

  6. 6

    有没有办法检查单独的“列”中的两个值是否相等?

  7. 7

    有没有办法从两个不同的数组中删除相同的值?

  8. 8

    有没有办法在Python中包含±(正负)?

  9. 9

    有没有办法在python中禁止舍入?

  10. 10

    有没有办法在python中绘制z值

  11. 11

    有没有办法在python中重置列表的值?

  12. 12

    有没有办法只将递归的最后两个保存值保留在字典中并删除其余值?

  13. 13

    有没有办法将python3中的reportlib中的PDF文件合并?

  14. 14

    有没有办法在python中“堆叠”一个列表?

  15. 15

    除了值/文本之外,有没有办法在使用 AJAX 填充的 DropDownList 中存储附加属性?

  16. 16

    有没有办法将第二个根附加到 git 中的任意提交?

  17. 17

    有没有办法附加到远程进程?

  18. 18

    有没有办法访问结构的第n个元素?

  19. 19

    有没有办法检查是否在 jQuery 中选择了第 n 个单选按钮?

  20. 20

    有没有办法查看字符串是否与字典键匹配以及是否打印其值?Python

  21. 21

    有没有办法在python 3中设置int的限制

  22. 22

    有没有办法在python 3中设置int的限制

  23. 23

    有没有办法在 HTML 结束标记 </html> 之后附加一个节点?

  24. 24

    有没有办法将熊猫字典分组

  25. 25

    在找到字符串值之前,有没有办法保持对嵌套字典的索引?

  26. 26

    有没有办法使用键的值来比较两个字典?

  27. 27

    有没有办法在代码隐藏中设置容器的第n个子代的样式?

  28. 28

    有没有办法更改熊猫中附加的数据帧的ID?

  29. 29

    有没有办法将数据附加到 unix 中的 .xml 文件?

热门标签

归档