今天学习python是看到一个有趣的程序,自己动手试了试,网上有很多这个例子,注释就不写的那么详细
直接贴上代码
# ! python
#生成随机测试文件
#第一步将测试数据保存在一个字典中
import random
#测试数据
capitals={'印度':'新德里','土耳其':'安卡拉','泰国':'曼谷','缅甸':'仰光',
'意大利':'罗马','葡萄牙':'里斯本','英国':'伦敦','希腊':'雅典',
'中国':'北京','日本':'东京','美国':'华盛顿','法国':'巴黎'}
#随机生成3份文件,打乱问题顺序
#下面的代码全在这循环之内
for quizNum in range(3):
#创建一份唯一的文件名,并让学生填上姓名和日期班级等
#测试文件名和测试文件答案编号
quizFile = open('D:\\试卷%s.txt'%(quizNum + 1), 'w')
answerKeyFile = open('D:\\试卷%s答案.txt'%(quizNum + 1),'w')
#写测试人xinx
quizFile.write('Name:\nDtat:\nperiod:\n\n')
quizFile.write((' '*3) + '正确答案(Form %s)'%(quizNum + 1))
quizFile.write('\n\n')
#random.shuffle()函数生成随机列表
states = list(capitals.keys())
random.shuffle(states)
#每份试卷5道题创建答案选项
for questionNum in range(5):
#得到正确和错误的答案
correctAnswer = capitals[states[questionNum]]
wrongAnswer = list(capitals.values())
del wrongAnswer[wrongAnswer.index(correctAnswer)]
wrongAnswer = random.sample(wrongAnswer,3)
answerOptions = wrongAnswer + [correctAnswer]
random.shuffle(answerOptions)
#将内容写入测试试卷和答案文件
quizFile.write('%s. %s首都是?\n' %(questionNum + 1,states[questionNum]))
#四个答案选项
for i in range(4):
quizFile.write('%s. %s\n' %('ABCD'[i], answerOptions[i]))
quizFile.write('\n')
#随机答案选项
answerKeyFile.write('%s. %s\n' %(questionNum + 1,'ABCD'[answerOptions.index(correctAnswer)]))
#文件关闭要注意下位置
quizFile.close()
answerKeyFile.close()
实验结果: