去年学习了python的读写文件部分,了解了python读写的常用模块os、shelve,今天准备把课后作业试着自己做一下

目标:1)生成35份试卷、每个试卷有50道选择题

2)为了防止有学生作弊,需要将每份试卷的题目顺序都不一样

思路:1)首先要创建35份不同的测验试卷

2)然后为每份试卷创建50个多重选择题,让他们的次序随机。

3)为每个问题提供一个正确答案和3个错误的干扰选项,并且选项的次序随机。

4)将35份测试试卷写到35个文本文件中。

5)将答案写到35个文本文件中。

下面开始:

经过一番思考,电光火石间,键盘上火花四溅,不一会儿功夫,花我9.9大洋的键盘就分崩离析。不仅是因为我的速度,还是因为每个按键,只有一次与我手指亲吻的机会,假如他没有在0.000001秒内弹起,他就不会通过考验,而他必须为此付出代价,流浪,只有流浪,才能让它认识到自己傲娇的代价。好了,在他最后一次被我弹起,在北纬N22°47′47.18″ 东经E136°0′38.67″ 这片土地上旋转跳跃的时候,这一刻,请我们羡慕他一次,他得以看到屏幕上一闪而逝的代码。他会明白自己是有多么的幸运,而前一刻心中的不甘是有多么可笑。在最后一刻,他回首看了一眼自己的母体,那条崭新的键盘,只不过他的兄弟都已不再,依旧像第一次看见它的时候,它想起来了,在记忆的工厂里,自己是被选中的第一个按键,被一双粗糙的大手反复的摩擦之后,打住。。。这恼人的意识流

来了

#The quiz data. Keys are states and values are their capitals

#Generate 35quiz files.

for quizNum in range(35):#Create the quiz and answer key files.

quizFile=open('capitalsquiz%s.txt'%(quizNum+1),'w')  #占位符的使用

answerKeyFile=open('capitalsquiz_answers%s.txt'%(quizNum+1),'w')#Write out the header for the quiz.

quizFile.write('Name:\n\nDate:\n\nPeriod:\n\n')

quizFile.write((' '*20)+'State Capitals Quiz(Form %s)' % (quizNum+1))  #打印若干个相同的字符/串便捷的写法

quizFile.write('\n\n')#Shuffle the order of the states.

states=list(capitals.keys())

random.shuffle(states)  #random.shuffle()会将列表states里面的内容打乱#Loop throgh all 50 states,making a question for each

for questionNum in range(50):#Get right and wrong answers

correctAnswer=capitals[states[questionNum]]  #得到错误答案的方法采用的是:先使用字典的values()方法获取所有答案,在复制到新的列表中,删去正确的答案

wrongAnswers=list(capitals.values())delwrongAnswers[wrongAnswers.index(correctAnswer)]

wrongAnswers=random.sample(wrongAnswers,3)  #random.sample(parameter1,parameter2)从参数1中随机选出参数2指定的个数

answerOptions=wrongAnswers+[correctAnswer]

random.shuffle(answerOptions)  #在打乱一次,防止每个题目正确答案选项都一样#write the question and the answer options to the quiz file.

quizFile.write('%s.What is the capital of %s?\n' % (questionNum+1,states[questionNum]))for i in range(4):

quizFile.write('%s.%s\n' % ('ABCD'[i],answerOptions[i]))

quizFile.write('\n')#write the answer key to a file.

answerKeyFile.write('%s.%s\n'%(questionNum+1,'ABCD'[answerOptions.index(correctAnswer)]))  #注意这里不要选择麻烦的方法,要熟练使用

quizFile.close()

answerKeyFile.close()

python生成试卷制卷系统_Python 读写文件 小应用:生成随机的测验试卷文件相关推荐

  1. python生成试卷制卷系统_Python如何自动生成考试试卷?

    本期要给大家带来自动生成试卷内容,实现目标是随机生成100道100以内的加法试卷.最终效果是以Word文件方式生成试卷并放置到相应目录下.这里需要依赖的知识点主要包含docxtpl模板的使用.Word ...

  2. python html5 便利店收银系统_python面向过程编程小程序- 模拟超市收银系统

    6.16自我总结 功能介绍 程序功能介绍: 商品信息再读取修改买卖均已xlsx格式 且生成购物记录也按/用户名/购买时间.xlsx格式生成 账号密码输入错误三次按照时间进行冻结 用户信息已json格式 ...

  3. python生成随机的测验试卷_python生成随机的测验试卷文件

    假如你是一位地理老师,班上有 35 名学生,你希望进行美国各州首府的一个小测验.不妙的是,班里有几个坏蛋,你无法确信学生不会作弊.你希望随机调整问题的次序,这样每份试卷都是独一无二的,这让任何人都不能 ...

  4. 简单的小学生试卷组卷系统

    今天高中同学叫我帮他写期末任务书的代码,写了一个关于试卷组卷系统的简单代码,这个函数主要是为了给C语言重修的兄弟应付的,所以只写了核心代码,交互界面以及美化都交给他自己,中间使用了goto语句,算是一 ...

  5. 模仿项目 生成随机的测验试卷文件

    根据项目 生成随机的测验试卷文件 的代码,稍作改动后,有了以下的代码: # 随机测试生成器.py - 生成问题及答案 # 随机生成问题并生成相应答案 import random# 键为省份,值为省会. ...

  6. python生成伪随机数的扩展库_python模块介绍-random:生成伪随机数

    概述 这个模块实现的伪随机数生成器. 对于整数,从区间选取.对于序列,随机元素. 在实线的,有功能来计算均匀分布,正态分布(高斯) ,对数正态分布,负指数,γ和β分布.对于生成的角度分布,冯·米塞斯的 ...

  7. python识别发票二维码_Python 实现二维码生成和识别

    今天突然想给自己自己做个头像,然后还是二维码的形式,这样只要扫一扫就可以访问我的主页.然后就开始自己的苦逼之路... 其实实现二维码java,c#,C++等都可以实现:由于自己正在学python,所以 ...

  8. 小项目:生成随机的测验试卷文件_python

    刚学习了这个项目,有感生疏,故作; 阅读对象:掌握python基本语法,能够用python进行简单的文件操作;由于随机,所以还需要掌握一丢丢random模块的知识(这里下方会给出说明) 首先,给出题目 ...

  9. python面相对象编程超市系统_python面向对象编程: 面向对象版学员管理系统

    转载自https://www.cnblogs.com/LynHome/archive/2020/04/06/12650318.html 详细解读请参考https://www.cnblogs.com/b ...

最新文章

  1. 由于找不到PBSYS90.dll,无法继续执行代码。重新安装程序可能会解决此问题!
  2. [转]Android敏捷开发指南
  3. CentOS 6/7 忘记root密码,重新设置的方法
  4. AjaxPro对象参数传递
  5. python交叉编译的配置 脚本怎么写_如何写一个简单的脚本并配置
  6. Qt学习笔记-编写简易的音乐播放器
  7. Wireshark 的使用 —— 过滤器(filter)
  8. 初次安装Mysql5.7以上版本后初始root密码找不到的问题
  9. 快速提取PPT文件里面的视频、音频素材
  10. 应急卫星通信系统项目建设要求
  11. 短视频系统+购物直播APP开发方案
  12. c程序设计第五版谭浩强课后答案 第四章习题答案
  13. 图像直方图以及直方图的应用
  14. 无刷直流电机正反转 原理 分析
  15. Cocos Creator 国旗头像生成器,源码奉上!
  16. 单元测试|Unittest setup前置初始化和teardown后置操作
  17. 计算机组成原理静态存储器实验报告,静态随机存储器实验报告计算机组成原理...
  18. 中外历史纲要(上)第一单元梳理(部分)
  19. C语言缺陷与陷阱(笔记)
  20. 数学基础I——矢量和坐标

热门文章

  1. 广泛的信号处理链如何让语音助理“正常工作”
  2. 空间点像素索引(二)
  3. 前端的单页面模式和多页面模式
  4. Python:urllib2模块Handler处理器 和 自定义Opener
  5. Android 使用adb 抓取日志信息
  6. Android switchCompat. 和 Switch
  7. Installation failed with message Invalid File:(Application Installatino Failed)
  8. RTT设备与驱动之PWM
  9. [原创]KVM虚拟化管理平台的实现
  10. 使用Dom4j操作XML数据