生成试题截图效果

  1. 在本地硬盘建立一个源试题程序文件

  2. 利用下面程序代码,导入txt文件,同时生成一批练习文件

  3. 这个试题随机生成的效果还是很棒的!

功能更新:

  1. 原程序,只能输出一组试题,但问题是每题答案不同,有的单词首字母是大小,而有的单词首字母是小写的,这就需要我们根据题目的设置,修改一下答案中的单词首字母
  2. 于是对程序进行了一个if…elif…的调整,根据答案先判断这个题目的正确答案是首字母大写,还是首字母小写,如果是大写,全部答案改为大写,如果是小写,那全部改变小写。
#代码片断:# 判断列表中的单词首字母是否大写,如果correctAnswer[0]首字母在a~z之间,输出False 否则输出Trueletter_dx = "False" if ord('a') <= ord(correctAnswer[0]) <= ord('z') else "True"if letter_dx == 'True':answerOptions_dx = [i.capitalize() for i in answerOptions]  # 列表推导式for i in range(4):quizFile.write(' %s. %s\n' % ('ABCD'[i], answerOptions_dx[i]))elif letter_dx == 'False':for i in range(4):answerOptions_dx = [i.lower() for i in answerOptions]  # 列表推导式quizFile.write(' %s. %s\n' % ('ABCD'[i], answerOptions_dx[i]))
#coding=gbk
# 随机测试生成器.py - 生成问题及答案
# 随机生成问题并生成相应答案import random,os,red = {}
name = ''
def file_list():global zj_mlprint('物理组卷---w,英语组卷---e')ml = input('输入科目:')if ml == 'e':zj_ml = '英语组题'elif ml == 'w':zj_ml = '物理组题'files = os.listdir(f'F:\物理练习图\九年级\字典组建试题\{zj_ml}')return filesfile = file_list()def english(file):for ind, x in enumerate(file):print(ind, '-', x.strip('.txt'),end='\t')if ind%5== 0:print('')xz = int(input('\n选择序号:'))fil = file[xz]fil = ''.join(fil)with open(rf"F:\物理练习图\九年级\字典组建试题\{zj_ml}\{fil}") as f:print(f'------{fil.strip(".txt")} *** 试题已经组卷成功.------\nF:\物理练习图\九年级\英语试题生成文件 ')try:for line in f:print(line)key,val = line.split('|')val = ''.join(val)val = val.strip('\n')d[key] = valexcept ValueError:print('请去检查,源文件格式,本次编辑已忽略错误')return deng_tests = english(file)
pd_letter_dx = []file_name = input('文件名称:')
for quizNum in range(20):# 新建试卷及答案的txt文档。quizFile = open(r'F:\物理练习图\九年级\英语试题生成文件\{}-{}.doc'.format(file_name,quizNum + 1),'w',encoding='utf-8')answerKeyFile = open(r'F:\物理练习图\九年级\英语试题生成文件\{}-_答案{}.txt'.format(file_name,quizNum + 1), 'w')# 利用write语法,参数:字符串,给试卷写出表头。quizFile.write('姓名:\t\t日期:\t\t学期:\t\t')#利用*写入多空格,把卷和数字参数合并到起,+号连接quizFile.write((' ' * 20) + f'英语专题_{file_name}测试 (卷 %s)' % (quizNum + 1))#空两行quizFile.write('\n\n')# 把字典的键名,转化成列表,打乱试题答案。eng_test_list = list(eng_tests.keys())random.shuffle(eng_test_list)# 遍历每一个问题,并生成问题题干。for questionNum in range(len(eng_test_list)):# 得到四个答案,三错一对。correctAnswer = eng_tests[eng_test_list[questionNum]]#从获取的键名列表中把字典的键值传递给正确变量wrongAnsewers = list(eng_tests.values())#去除错误选项中的重复答案#然后再选择三个干扰项wrongAnsewers = set(wrongAnsewers)print(wrongAnsewers)wrongAnsewers = list(wrongAnsewers)del wrongAnsewers[wrongAnsewers.index(correctAnswer)]wrongAnsewers = random.sample(wrongAnsewers, 3)answerOptions = wrongAnsewers + [correctAnswer]random.shuffle(answerOptions)# 将问题和答案选项写进试卷的txt文档。quizFile.write('\n%s. %s(    ) \n' %(questionNum + 1,eng_test_list[questionNum]))#写入试卷中的选项首字母大写的判断# 判断列表中的单词首字母是否大写,如果correctAnswer[0]首字母在a~z之间,输出False 否则输出Trueletter_dx = "False" if ord('a') <= ord(correctAnswer[0]) <= ord('z') else "True"if letter_dx == 'True':answerOptions_dx = [i.capitalize() for i in answerOptions]  # 列表推导式elif letter_dx == 'False':answerOptions_dx = [i.lower() for i in answerOptions]  # 列表推导式for i in range(4):quizFile.write('%s. %s\t\t' % ('ABCD'[i], answerOptions_dx[i]))quizFile.write('\n')quizFile.write('\n【答案】%s\n' % ( 'ABCD'[answerOptions.index(correctAnswer)]))quizFile.write('\n')# 将答案写进答案的txt文档。# que_inp = ('输入答案:')answerKeyFile.write('%s.%s\n' %(questionNum + 1, 'ABCD'[answerOptions.index(correctAnswer)]))quizFile.close()answerKeyFile.close()

希望更多的老师借鉴,提出宝贵的建议!

【功能更新-1:选项统一】利用python生成自制英语试题程序开发相关推荐

  1. python 词云_利用Python生成词云

    利用Python生成词云 一.第三方库的安装与介绍 1.1  Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...

  2. python表白代码照片墙-python入会生成照片墙 利用python生成照片墙代码

    本篇文章小编给大家分享一下利用python生成照片墙代码,对大家的学习有一定的帮助,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. PIL(Python Image Libr ...

  3. 动态照片墙 python 实现_利用python生成照片墙的示例代码

    这篇文章主要介绍了利用python生成照片墙的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 PIL(Python Im ...

  4. python制作图片墙_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  5. python照片墙地图_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  6. 动态照片墙 python 实现_python入会生成照片墙 利用python生成照片墙代码

    本篇文章小编给大家分享一下利用python生成照片墙代码,对大家的学习有一定的帮助,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. PIL(Python Image Libr ...

  7. python制作心形照片墙_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  8. 利用python生成字符画

    先看看效果图: 转换后: 将图片转换成字符画的原理: 先将图片转换成黑白,然后一行行的读取灰度,建立灰度与字符的映射. 转换代码: def transform(image_file): image_f ...

  9. python英语词汇读音_利用Python制作查单词小程序(一):抓取来自百度翻译的单词释义和音标...

    小编在学习英语的时候,遇到不认识的英语单词,会用百度翻译来查询单词的释义和音标,并播放单词的读音.为了便于复习和记忆,需要将单词的释义和音标以复制粘贴的方式保存到本地. 这个过程非常繁琐,于是小编就想 ...

  10. 万圣节日丧尸变异头像生成流量主小程序开发

    万圣节日丧尸变异头像生成流量主小程序开发 每到节日庆典,各种头像小程序就火爆起来,每次都有新的小程序开始售卖,换汤不换药,比如今年国庆的渐变,去年圣诞的圣诞帽生成. 这些热点,你追累了吗? 看到群里靠 ...

最新文章

  1. CloudBees发布“Jenkins X”:面向部署到Kubernetes中的现代云应用的CI/CD解决方案
  2. # 对象json互相转换_推荐一款 Java 对象映射神器
  3. 【linux开发】IO端口和IO内存的区别及分别使用的函数接口
  4. 征战蓝桥 —— 2013年第四届 —— C/C++A组第10题——大臣的旅费
  5. oracle 10g 更换ocr,Oracle10g RAC在线更换OCR votedisk
  6. 发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner
  7. php return 变量,php内核笔记–函数返回变量return_value
  8. ORA-01745: invalid host/bind variable name 报错
  9. 用Solr4.10实在全文检索
  10. Java必备——MySql 三大知识点
  11. python logging详解及自动添加上下文信息
  12. php评论倒序 zblog_ZblogPHP调用最新、评论最多、浏览最多、置顶文章
  13. 【ArcGIS】02 植被分类
  14. 『深度应用』首届中国心电智能大赛复赛开源(第三十一名,得分0.841484)
  15. 感受野-Receptive Field的理解
  16. 【排列组合】扑克牌大小王被同一人拿到概率
  17. 单例模式java概括_单例模式中总有几个歪门邪道的问题要知道!
  18. matplotlib画柱状对比图
  19. uboot分析:uboot的启动过程分析
  20. git bash shell 脚本 :从文件获取git仓库列表 git clone所有仓库

热门文章

  1. CAN分析仪的特点与功能
  2. 数据库第四次作业:数据备份与还原
  3. Maven安装和配置详细教程
  4. Hadoop大数据平台搭建(超详细步骤)
  5. 在LLVM中编写Backend Pass的详细教程(1)
  6. 频段、信道带宽、EARFCN、频段和EARFCN之间的换算
  7. 在线随机抛硬币正反面统计工具
  8. mysql认证_关于MySQL认证
  9. uni-app+flask 快速开发图像识别小程序
  10. java 空文件夹删除_java创建文件文件夹,删除空文件夹,删除文件夹以及所有文件...