通常来说,我们写答题程序的时候,拿到手的题库不会是json格式的,而是word或txt、pdf就像考试卷子那样的。
这里写一下用python3将普通题库处理成json格式,选择python3的原因是,相对于2.7版本,它对中文更友好。
原始题库如下:

1、先秦时代,教育内容以“六艺”为主,下列不属于“六艺”的是(D)。
A、射B、御C、礼D、武
2、经魏晋多名士,有著名的竹林七贤,《与山巨源绝交书》是竹林七贤中的谁写给山涛的(B)。
A、阮籍B、嵇康C、刘伶D、向秀
3、科举制在中国影响深远,乡试录取者称为“举人”,会试录取者称为“贡生”,那么殿试录取者称为(C)。
A、“大元”B、“解元”C、“进士”D、“榜眼”
4、“生当做人杰,死亦为鬼雄,至今思项羽,不肯过江东。”为哪位诗人的作品?(D)
A、李白B、杜甫C、李商隐D、李清照
5、“豆蔻”是指(A)岁。
A、十三B、十五C、十八D、二十
6、中国的书院制度自唐代始,有官方和私人设置的两类,下列各书院属于官方创办的是(C)
A、岳麓书院B、嵩阳书院C、集贤书院D、白鹿洞书院
7、友谊的深浅,由下列那一个成语可以看出情义最为深重?(C)
A、莫逆之交B、金兰之交C、刎颈之交D、点头之交
8、一提到书法中的草书,人们便会想到“颠张醉素”,请问下列属于颠张的作品的是(B)
A、自叙帖B、自言帖C、中秋帖D、黄州寒食帖
9、鲁迅先生称(A)为“史家之绝唱,无韵之离骚”。
A、史记B、汉书C、三国志D、资治通鉴
10、郑谷有诗曰:“何事文星与酒星,一时钟在李先生。高吟大醉三千百,留着人间伴月明。”诗中的李先生指的是(C)
A、李商隐B、李贺C、李白D、李煜
11、“四羊方尊”是哪个朝代的文物:(C)
A、周B、元C、商D、夏
12、张渭《别韦郎中》一诗中有“不知郎中桑落酒,教人无奈别离何”一句,句中所提到的“桑落酒”原产地在(A)
A、永济B、桑落C、汾阳D、绵竹
13、“天道有常,不为尧存,不为桀亡。”是百家中那位思想家的观点(C)
A、孟子B、韩非子C、荀子D、老子
14、爵是一种典礼时用的酒器,那么爵有几只脚?(A)
A、三只脚B、两只脚C、四只脚D、五只脚
15、魏晋时期,建安七子是当时文学的代表人物,下列属于建安七子的是(D)。
A、嵇康B、曹植C、山涛D、阮瑀
16、南宋时期出现了中兴四大诗人,其中陆游声名最著,下列各诗句不是陆游所作的是(C)。
A、塞上长城空自许,镜中衰鬓已先斑。B、山重水复疑无路,柳暗花明又一村。C、折腰曾愧五斗米,负郭元无三顷田。D、京华结交尽奇士,意气相期共生死。
17、下列哪一个名称的由来与伍子胥有关?(B)
A、月老B、千金小姐C、新郎D、岳父
18、下列不属于中医别称的的是(C)
A、杏林B、悬壶C、黄芪D、歧黄
19、“茕茕子立,形影相吊”出自(C)
A、《出师表》B、《答司马谏议书》C、《陈情表》D、《报刘一丈书》
20、下列不属于“十三经”的是(C)
A、周易B、尚书C、史记D、尔雅
21、“形存则神存,形谢则神灭”是由谁提出的(A)
A、范缜B、柳宗元C、周敦颐D、刘禹锡
22、(B)时期,国家设立五经博士。
A、秦始皇B、汉武帝C、汉高祖D、光武帝
23、菩提本无树,明镜亦非台,本来无一物,何处惹尘埃,出自(B)
A、慧思B、慧能C、神秀D、玄奘
24、宋朝著名的女词人除了大家所熟悉的李清照外,还有一位朱淑真。前者的词集叫做《漱玉词》,请问后者词集是(D)
A、《饮水词》B、《花外集》C、《梦窗词》D、《断肠词》
25、韩非子的法治思想主要强调什么相结合(B)
A、道、术、势B、法、术、势C、道、法、势D、道、法、师

处理后的题库如下:

{"name":"先秦时代,教育内容以“六艺”为主,下列不属于“六艺”的是    。","daan": "D",
"content":["射","御","礼","武"]},
{"name":"经魏晋多名士,有著名的竹林七贤,《与山巨源绝交书》是竹林七贤中的谁写给山涛的    。","daan": "B",
"content":["阮籍","嵇康","刘伶","向秀"]},
{"name":"科举制在中国影响深远,乡试录取者称为“举人”,会试录取者称为“贡生”,那么殿试录取者称为    。","daan": "C",
"content":["“大元”","“解元”","“进士”","“榜眼”"]},
{"name":"“生当做人杰,死亦为鬼雄,至今思项羽,不肯过江东。”为哪位诗人的作品?    ","daan": "D",
"content":["李白","杜甫","李商隐","李清照"]},
{"name":"“豆蔻”是指    岁。","daan": "A",
"content":["十三","十五","十八","二十"]},
{"name":"中国的书院制度自唐代始,有官方和私人设置的两类,下列各书院属于官方创办的是    ","daan": "C",
"content":["岳麓书院","嵩阳书院","集贤书院","白鹿洞书院"]},
{"name":"友谊的深浅,由下列那一个成语可以看出情义最为深重?    ","daan": "C",
"content":["莫逆之交","金兰之交","刎颈之交","点头之交"]},
{"name":"一提到书法中的草书,人们便会想到“颠张醉素”,请问下列属于颠张的作品的是    ","daan": "B",
"content":["自叙帖","自言帖","中秋帖","黄州寒食帖"]},
{"name":"鲁迅先生称    为“史家之绝唱,无韵之离骚”。","daan": "A",
"content":["史记","汉书","三国志","资治通鉴"]},
{"name":"郑谷有诗曰:“何事文星与酒星,一时钟在李先生。高吟大醉三千百,留着人间伴月明。”诗中的李先生指的是    ","daan": "C",
"content":["李商隐","李贺","李白","李煜"]},
{"name":"“四羊方尊”是哪个朝代的文物:    ","daan": "C",
"content":["周","元","商","夏"]},
{"name":"张渭《别韦郎中》一诗中有“不知郎中桑落酒,教人无奈别离何”一句,句中所提到的“桑落酒”原产地在    ","daan": "A",
"content":["永济","桑落","汾阳","绵竹"]},
{"name":"“天道有常,不为尧存,不为桀亡。”是百家中那位思想家的观点    ","daan": "C",
"content":["孟子","韩非子","荀子","老子"]},
{"name":"爵是一种典礼时用的酒器,那么爵有几只脚?    ","daan": "A",
"content":["三只脚","两只脚","四只脚","五只脚"]},
{"name":"魏晋时期,建安七子是当时文学的代表人物,下列属于建安七子的是    。","daan": "D",
"content":["嵇康","曹植","山涛","阮瑀"]},
{"name":"南宋时期出现了中兴四大诗人,其中陆游声名最著,下列各诗句不是陆游所作的是    。","daan": "C",
"content":["塞上长城空自许,镜中衰鬓已先斑。","山重水复疑无路,柳暗花明又一村。","折腰曾愧五斗米,负郭元无三顷田。","京华结交尽奇士,意气相期共生死。"]},
{"name":"下列哪一个名称的由来与伍子胥有关?    ","daan": "B",
"content":["月老","千金小姐","新郎","岳父"]},
{"name":"下列不属于中医别称的的是    ","daan": "C",
"content":["杏林","悬壶","黄芪","歧黄"]},
{"name":"“茕茕子立,形影相吊”出自    ","daan": "C",
"content":["《出师表》","《答司马谏议书》","《陈情表》","《报刘一丈书》"]},
{"name":"下列不属于“十三经”的是    ","daan": "C",
"content":["周易","尚书","史记","尔雅"]},
{"name":"“形存则神存,形谢则神灭”是由谁提出的    ","daan": "A",
"content":["范缜","柳宗元","周敦颐","刘禹锡"]},
{"name":"    时期,国家设立五经博士。","daan": "B",
"content":["秦始皇","汉武帝","汉高祖","光武帝"]},
{"name":"菩提本无树,明镜亦非台,本来无一物,何处惹尘埃,出自    ","daan": "B",
"content":["慧思","慧能","神秀","玄奘"]},
{"name":"宋朝著名的女词人除了大家所熟悉的李清照外,还有一位朱淑真。前者的词集叫做《漱玉词》,请问后者词集是    ","daan": "D",
"content":["《饮水词》","《花外集》","《梦窗词》","《断肠词》"]},
{"name":"韩非子的法治思想主要强调什么相结合    ","daan": "B",
"content":["道、术、势","法、术、势","道、法、势","道、法、师"]},

python代码如下:


f=open(r'D:\微信小程序\答题小程序说明\题库.txt')
fnew=open(r'D:\微信小程序\答题小程序说明\题库新.txt','a')
sum=0
str0=''
f1=f.readlines()
for f0 in f1:sum=sum+1
print(sum)
for i in range(0,sum):if i%2==0:th=str(int(i*0.5+1))+'、'print(th)if f1[i].find('(A)')!=-1:str0='{"name":"'+f1[i].replace('(A)','    ')+'","daan": "A",'elif f1[i].find('(B)')!=-1:str0='{"name":"'+f1[i].replace('(B)','    ')+'","daan": "B",'elif f1[i].find('(C)')!=-1:str0='{"name":"'+f1[i].replace('(C)','    ')+'","daan": "C",'elif f1[i].find('(D)')!=-1:str0='{"name":"'+f1[i].replace('(D)','    ')+'","daan": "D",'str0=str0.replace('\n','').replace(th,'')+'\n'else:str0='"content":'+f1[i]+'"]},'str0=str0.replace('A、','["').replace('B、','","').replace('C、','","').replace('D、','","').replace('\n','')+'\n'print(str0)fnew.write(str0)fnew.close()f.close()

挺简单的,没用啥第三方库,就是一个文本处理,路径上加了r,是为了防止转译。open里那个’a’是补充的意思,’w’的话就是覆盖,一行一行写入,肯定不能用覆盖。
有两个循环,第一个循环算出sum的值,就是一共有几行。
第二个循环,就是处理每行,range(0,sum)在这个区间循环,包括0,不包括sum,其实就是[0,sum)集合。
有几个if语句,find是在字符串中找给定的字,找不到值返回-1。python里面不用else if,而是elif。
print是打印到编译器界面上,python3的版本是print(str),2.7是python str,有些不一样,write就是写入。
应当注意,程序完事之后一定要写上close(),写完东西,文件不关,可不是好习惯。
over。
另:
如果代码运行结束后,题库格式有出入,请核查原文件,例如A、不是A,(A)而不是(A)等等,代码都按全角算的,毕竟,没有做模糊匹配。
代码本身没有问题。

答题微信小程序实现(7):python3将题库处理成json格式的。相关推荐

  1. 基于微信小程序云开发实现考研题库小程序项目(完整版)

    今天手把手的带大家实现一款答题类的题库小程序,如果着急的话,可以直接去看文末源码.下载与项目部署. 考研题库小程序云开发实战,完整版提供给大家学习.题库小程序,基于云开发的微信答题小程序,软件架构是微 ...

  2. 修复登录答题微信小程序源码下载

    功能简介: 1.答题有奖 3.后台含有区间余额区间奖励配置: 4.签到邀请好友获取答题卡, 更多功能具体自己研究,支持用户提现等 后台系统设置: 基础设置.奖励管理.分享配置 题目管理: 题目增加.题 ...

  3. 微信小程序的开发使用第三方组件库

    使用第三方组件库(以vant weapp为例) 初始化 右键单击miniprogram,选择在终端打开,输入命令npm init,以下的东西都可以默认(即回车即可). 在微信小程序开发工具中会多一个文 ...

  4. uni-app 微信小程序获取位置信息提示“getLocation 需要在 app.json 中申明 permission 字段”

    本文同步发布在:uni-app 微信小程序获取位置信息提示"getLocation 需要在 app.json 中申明 permission 字段 我们在用 uni-app 开发微信小程序时, ...

  5. 微信小程序简易搭建之框架/组件库

    微信小程序简易搭建之框架/组件库 Vant weapp 下面看看如何导入 https://github.com/youzan/vant-weapp 使用教程: 1.下载后找到dist 2. 在你的项目 ...

  6. 《微信小程序-进阶篇》Lin-ui组件库源码分析-列表组件List(一)

    大家好,这是小程序系列的第二十篇文章,在这一个阶段,我们的目标是 由简单入手,逐渐的可以较为深入的了解组件化开发,从本文开始,将记录分享lin-ui的源码分析,期望通过对lin-ui源码的学习能加深组 ...

  7. 云答题微信小程序 实现 前端加后台管理

    1.为什么要使用微信云开发 微信云开发自己是不需要域名(备案的域名),服务器,搭建数据库等. 2.使用技术 微信小程序+相关云接口 java (SpringBoot+Maven) 后台管理使用 VUE ...

  8. 《微信小程序开发实战》课后题

    黑马程序员版<微信小程序开发实战> 第一章 填空题 1.微信小程序可以通过________方式打开. 答案:扫描二维码 2.微信开发者工具中的上传是指将代码上传到________. 答案: ...

  9. 兼容微信小程序的流式网络请求库

    本项目从属于笔者的Web开发入门与最佳实践之前端开源项目系列.如果对于HTTP协议与规范尚不掌握的建议阅读HTTP 基础与变迁一文.如果对于REST尚不掌握的推荐阅读来自微软的接口设计指南以及来自于P ...

最新文章

  1. pyhanlp 提取关键词、自动摘要
  2. php接收rs485的数据如何处理,为什么485不能连续接收?
  3. 回滚master代码_Git之master主干代码回滚
  4. python ui自动化测试仪器_python UI自动化测试
  5. Ground Defense 模拟
  6. 关于yolo3的学习
  7. 网页设计 基础知识汇总
  8. 计算机基础知识 SERVER
  9. Kali Linux中Unable to locate package错误的解决方法2-2
  10. 百度“算盘”logo引领国风来袭
  11. 切比雪夫1型滤波器C语言,切比雪夫1型滤波器.doc
  12. 【鲲鹏应用迁移】实验:通过鲲鹏开发套件实现Hyper Tuner性能调优(超详细)
  13. python pandas拆分单元格
  14. 泛函分析简列:度量空间之Banach空间与模等价
  15. TokenInsight 对话首席——平台币暴涨,暖春来临?
  16. AngularJs ng-repeat重复项异常解决方案
  17. Android 客户端 okhttp3 与服务器之间的双向验证
  18. 如何解决“.net framework初始化错误”问题
  19. Linux(4)RedHat7 基本命令三-pwd命令详解
  20. 秒懂算法 | 搜索基础

热门文章

  1. 串口转以太网服务器原理,【干货】自制低成本串口转以太网网关
  2. 关于解决乱码问题的几个步骤
  3. 网站建设需要多少钱?与什么有关系?
  4. Kettle链接MySQL报错:Driver class 'org.gjt.mm.mysql.Driver' could not be found
  5. kettle4.1 连接 mysql8 库异常:org.gjt.mm.mysql.Driver
  6. [分享]RFID之我的M1离线卡爆破过程
  7. 【Python】定义函数求解一元二次方程
  8. Downloading https://ultralytics.com/assets/Arial.ttf to /data/..../.config/Ultralytics/Arial.ttf
  9. Makefile里的wildcard 理解
  10. 汇编笔记-在屏幕中间分别显示绿色,绿底红色,白底蓝色的字符串“welcome to masm!”