搭建网站的流程,公司网站建设知识,自己有个服务器 怎样做网站,设计购物网站的意义终端小游戏
1、根据题库内容出单选题
2、提示作答#xff0c;并给结果
思路
列表 保存题目
字典 保存题干#xff0c;选项和答案
遍历 题目列表用于展示
input函数 等待用户输入
判断输入#xff0c;并继续提示
计算正确率并打印
题库…
终端小游戏
1、根据题库内容出单选题
2、提示作答并给结果
思路
列表 保存题目
字典 保存题干选项和答案
遍历 题目列表用于展示
input函数 等待用户输入
判断输入并继续提示
计算正确率并打印
题库
{name: 样例题库,question_list: [{question: 生命、宇宙以及一切事物的终极答案是,choices: [42,43,44,45],answer: 0},{question: 机器人 Marvin 今天高兴吗,choices: [没有理由不高兴,他今天一定很忧郁,取决于他接到的任务,一会儿高兴一会儿不高兴],answer: 1}]
}import json
import os
import sysdef read_question_file(filename):if not os.path.isfile(filename):return Nonewith open(filename, r, encodingutf-8) as f:try:return json.load(f)except ValueError as e:print(e)print(加载题库错误。)return Nonedef to_letter(n):return chr(ord(A) n)def to_answer(letter, c_len):letter letter.upper()if len(letter) 1 and A letter Z:digit ord(letter) - ord(A)if 0 digit c_len:return digit, Trueelse:return None, Falseelse:return None, Falsedef ask_question(question, i):print(\n第 {0} 题{1}.format(i1, question[question]))choices question[choices]c_len len(choices)for j in range(c_len):print({0}{1}.format(to_letter(j), choices[j]))user_input input(请输入答案)user_answer, ok to_answer(user_input, c_len)while not ok:user_input input(输入错误请输入选项前的单个字母做为答案)user_answer, ok to_answer(user_input, c_len)return user_answer question[answer]def main(argv):if len(argv) ! 2:print(请指定题库 JSON 文件)sys.exit(-1)filename argv[1]# 读取题库列表每道题目为一个字典question_json read_question_file(filename)if not question_json:print(题库文件读取失败请检查{0}.format(filename))sys.exit(-1)name question_json[name]question_list question_json[question_list]print(答题开始当前题库为{0}.format(name))# 遍历题库列表q_len len(question_list)correct_count 0for i, q in enumerate(question_list):# 展示题目、提示用户输入、判断答案if ask_question(q, i):correct_count 1# 计算并展示正确率print(\n答题完成共 {0} 道题目你答对了 {1} 题。正确率 {2:.2f}%。.format(q_len, correct_count, correct_count/q_len*100))if __name__ __main__:main(sys.argv)