import random
import time
questions = [
{‘question’:‘驾驶机动车在道路上违反道路交通安全法的行为,属于什么行为?’,
‘A’:‘违章行为’,
‘B’:‘违法行为’,
‘C’:‘过失行为’,
‘D’:‘违规行为’,
‘answer’:‘B’},
{‘question’:‘机动车驾驶人违法驾驶造成重大交通事故构成犯罪的,依法追究什么责任?’,
‘A’:‘刑事责任’,
‘B’:‘民事责任’,
‘C’:‘经济责任’,
‘D’:‘直接责任’,
‘answer’:‘A’},
{‘question’:‘机动车驾驶人造成事故后逃逸构成犯罪的,吊销驾驶证且多长时间不得重新取得驾驶证?’,
‘A’:‘5年内’,
‘B’:‘10年内’,
‘C’:‘终生’,
‘D’:‘20年内’,
‘answer’:‘C’},
{‘question’:‘驾驶机动车应当随身携带哪种证件?’,
‘A’:‘工作证’,
‘B’:‘驾驶证’,
‘C’:‘身份证’,
‘D’:‘职业资格证’,
‘answer’:‘B’},
{‘question’:‘未取得驾驶证的学员在道路上学习驾驶技能,下列哪种做法是正确的?’,
‘A’:‘使用所学车型的教练车由教练员随车指导’,
‘B’:‘使用所学车型的教练车单独驾驶学习’,
‘C’:‘使用私家车由教练员随车指导’,
‘D’:‘使用所学车型的教练车由非教练员的驾驶人随车指导’,
‘answer’:‘A’},
{‘question’:‘机动车驾驶人初次申领驾驶证后的实习期是多长时间?’,
‘A’:‘6个月’,
‘B’:‘12个月’,
‘C’:‘16个月’,
‘D’:‘18个月’,
‘answer’:‘B’},
{‘question’:‘在实习期内驾驶机动车的,应当在车身后部粘贴或者悬挂哪种标志?’,
‘A’:‘注意新手标志’,
‘B’:‘注意避让标志’,
‘C’:‘统一式样的实习标志’,
‘D’:‘注意车距标志’,
‘answer’:‘C’},
{‘question’:‘以欺骗、贿赂等不正当手段取得驾驶证被依法撤销驾驶许可的,多长时间不得重新申请驾驶许可?’,
‘A’:‘3年内’,
‘B’:‘终身’,
‘C’:‘1年内’,
‘D’:‘5年内’,
‘answer’:‘A’},
{‘question’:‘驾驶拼装机动车上路行驶的驾驶人,除按规定接受罚款外,还要受到哪种处理?’,
‘A’:‘处10日以下拘留’,
‘B’:‘暂扣驾驶证’,
‘C’:‘吊销驾驶证’,
‘D’:‘追究刑事责任’,
‘answer’:‘C’},
{‘question’:‘下列哪种证件是驾驶机动车上路行驶应当随车携带?’,
‘A’:‘机动车登记证’,
‘B’:‘机动车保险单’,
‘C’:‘机动车行驶证’,
‘D’:‘出厂合格证明’,
‘answer’:‘C’},]
score = 0
list = []
print(‘欢迎使用北财驾考题库系统’)
while score < 60:
print(‘三秒倒计时后开始答题:’)
time.sleep(1)
print(‘3’)
time.sleep(1)
print(‘2’)
time.sleep(1)
print(‘1’)
while True:#循环从问题列表中随机抽取五个字典
index = random.randint(1,len(questions)-1)
#如果问题列表的长度为0或者抽取的字典在问题列表中不存在 则直接将抽取的字典存入列表中
if len(list) == 0 or list.count(questions[index]) == 0:
list.append(questions[index])
#如果列表的长度为5 则终止循环
if len(list) == 5:
break
answers = []#用户的答案列表
for question in list:#遍历问题列表中的问题和选项 让用户选择答案
print(question[‘question’])
print(‘A:’+question[‘A’])
print(‘B:’+question[‘B’])
print(‘C:’+question[‘C’])
print(‘D:’+question[‘D’])
ans = input(‘请输入您的答案:’)
answers.append(ans)#将用户输入的答案存入答案列表中
print(‘标准答案’)
for ques in list:#从问题列表中输出正确答案
print(ques[‘answer’],end = ’ ‘)
print(’’)
print(‘您的答案’)
for ans in answers:#从答案列表中输出用户的答案
print(ans,end = ’ ‘)
print(’’)
for index in range(0,5):#从第一个答案开始判断 看看用户的答案和正确答案有几个是匹配的
if list[index][‘answer’] == answers[index].upper():#将用户输入的选项转换为大写字母
score += 20#答对一题 加20分
if score >= 60:#60分以上及格 此时外层while循环终止
print(‘您的成绩为:%d,恭喜过关’%score)
else:
print(‘您的成绩为:%d,抱歉,请继续答题’%score)
score = 0#成绩不合格,重新答题时成绩归零