一、系统环境
Windows 10 22H2版,Windows Feature Experience Pack 120.2212.4190.0
Anaconda3-2022.05-Windows-x86,python3.9,jupyterbook。
二、主要代码
import random , time#调用 random,time库
tis1 =time.perf_counter()#标记程序启动时间
province_capital = {'北京市': '北京','天津市': '天津', ........'台湾省': '台北','}#引入省、直辖市、自治区及省会(首府)字典
for quizNum in range(1000):#创建1000份测试卷及答案
quizFile = open('中国省会知识随机测试卷(%s).txt' % (quizNum + 1), 'w')#创建1000份测试卷
answerKeyFile = open('中国省会知识随机测试卷答案(%s).txt' % (quizNum + 1), 'w')#创建1000份测试卷答案
quizFile.write((' ' * 10) + '中国省会知识随机测试 (试卷 %s)' % (quizNum + 1))#试卷标题左缩进10个空格
quizFile.write('\n\n')#试卷标题段后空两行
quizFile.write((' '*2)+'考生:'+('_'*6)+'日期:'+('_'*8)+'成绩:'+('_'*4)+'阅卷人:'+('_'*6))#设置试卷基础信息栏目
states = list(province_capital.keys())#生成省会清单
random.shuffle(states)#调用Shuffle函数随机调整省会清单
for questionNum in range(34): #遍历所有省份并各自生成一道题
correctAnswer = province_capital[states[questionNum]]#获取正确答案选项
wrongAnswers = list(province_capital.values())#获取错误答案选项初始列表
del wrongAnswers[wrongAnswers.index(correctAnswer)]#删除初始列表中夹杂的正确答案选项
wrongAnswers = random.sample(wrongAnswers, 3)#在最终错误答案选项列表中随机挑选3个错误选项
answerOptions = wrongAnswers + [correctAnswer]#合并生成四个答案选项
random.shuffle(answerOptions)#随机打乱四个答案选项
quizFile.write('%s.%s的省会是?( )\n\n' % (questionNum + 1, states[questionNum]))#生成题干及选项,题干下空两行
for i in range(4):
quizFile.write(' %s. %s\n' % ('ABCD'[i], answerOptions[i]))#生成选项
answerKeyFile.write('%s. %s\n' % (questionNum + 1, 'ABCD'[answerOptions.index(correctAnswer)])) # 生成答案.
print("中国省会知识随机测试卷({})已自动生成!".format(str(quizNum+1)))#展示试卷生成进度
print("中国省会知识随机测试卷({})答案已自动生成!".format(str(quizNum+1)))#展示试卷答案生成进度
quizFile.close()#关闭保存试卷文件
answerKeyFile.close()#关闭保存试卷答案文件
tis2 =time.perf_counter()#标记程序结束时间
print("程序运行总计用时: %.03f 秒" %(tis2-tis1))#计算程序运行时间
三、运行效果
1.界面:自动生成1000份.txt格式单项选择题试卷。
2.试卷:题干与选项均随机组合,试卷编号自动生成。
3.答案:对应试卷编号自动生成1000份试卷答案。
四、代码文件下载
1.百度网盘二维码
2.百度网盘链接: https://pan.baidu.com/s/1zz6Jb88Fyt2rqbS7BwIhiw?,评论区留言后,私信获取提取码。
五、原创声明
仅用作学习交流,不得非法使用。除封面图片来自网络(侵删)外,其余均为程序运行实时截图。欢迎各路大佬留言指导,提出宝贵建议。Email:2533033@qq.com。(微信、skype同号)