完成本任务,须首先设计题库,然后在规定时间内循环随机出题,判断输入的答案是否正确,并统计答对问题次数,如果答题时间到,则退出循环,结束答题。具体实现步骤如下。 (1)创建字典question_bank保存题库,问题为“键”,正确答案为“值”。问题使用元组(详见任务四)保存,题干和选项为元组的元素。 (2)使用keys()方法获取question_bank的所有“键”(问题),然后使用list()方法转换为列表questions。 (3)创建变量time1、number和count。time1表示开始时间,使用time模块的time()函数获取;number保存问题在questions列表中的索引,初始赋值为空列表;count表示统计答对问题次数,初始赋值为0。 (4)使用while循环,判断条件为True,在循环中进行以下操作。 ① 使用randint()函数生成一个0~len(questions)−1的随机整数index,作为列表的索引。判断index是否在number中(即该索引对应的问题已经出现过),如果是则使用continue结束本次循环,否则将index添加到number中。 ② 使用for循环输出questions[index]中的元素。 ③ 使用input()函数输入答案,并赋给answer。然后判断answer与该问题的答案是否相等,如果是则输出答对提示,并使count加1,否则输出答错提示。 ④ 使用time模块的time()函数获取当前时间,并赋给time2。然后计算time2和time1的差值delta_T,判断delta_T是否大于规定时间,如果是则输出count,并退出循环。
import random
import time
question_bank = {
('点字成诗(九宫格),从下面九个字中识别一句诗词。', '花 多 又', '知 逢 时', '雨 少 落'): '花落知多少',
('点字成诗(十二宫格),从下面十二个字中识别一句诗词。', '柳 生 一 白', '云 亮 有 家', '花 处 人 暗'): '白云生处有人家',
('“会当凌绝顶,一览众山小。”描写的是哪座山?', 'A.


1651

被折叠的 条评论
为什么被折叠?



