python生成随机的测验试卷_python(读写文件案例)--随机生成考试试卷

#-*- coding:utf-8 -*-importrandom

capitals={'Alabama':'Montagomery',

'Alaska':'Juneau',

'Arizona':'Phnenix',

'Arkansas':'Little Rock',

'California':'Sacramento',

'Colorado':'Denver',

'Connecticut':'Hartford',

'Delaware':'Dover',

'Florida':'Tallahassee',

'Grorgia':'Atlanta',

'Hawaii':'Honolulu',

'Idaho':'Boise',

'Illinois':'Springfied',

'Indiana':'Indianapoils',

'Iowa':'Des Moines',

'Kansas':'Topeka',

'Kentucky':'Frankfort',

'Louisiana':'Boston',

'Michigan':'Lansing',

'Minnesata':'Saint Paul',

'Mississippi':'jackson',

'Missouri':'Jefferson City',

'Montana':'Helena',

'Nebraska':'Lincoln',

'Nevada':'Carson City',

'New Hampshire':'Concord',

'New Jersey':'Trenton',

'New Mexico':'Santa Fe',

'New York':'Albany',

'North Carolina':'Raleign',

'North Dakota':'Bismarck',

'Ohio':'Colunbus',

'Oklahoma':'Oklahoma City',

'Oregon':'Salem',

'Pennsylvania':'Harrisburg',

'Rhode Island':'Providence',

'South Carolina':'Columbia',

'Sourth Bakota':'Pierre',

'Tennessee':'Nashville',

'Texas':'Austin',

'Utah':'Salt Lake City',

'Vermont':'Montelier',

'Virginia':'Richmond',

'Washington':'Olympia',

'West Vriginia':'Charleston',

'Wisconsin':'Madison',

'Wyoming':'Cheyenne'}

forquizNum inrange(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 (str((' '* 20)) + 'State Capitals Quiz (Form. %s)'% (quizNum + 1))

quizFile.write('\n\n')

#Shuffle the order of the statesstates=list(capitals.keys())

#print 'states count:', len(states)random.shuffle(states)

forquestionNum inrange(47):

#print questionNumcorrectAnswer=capitals[states[questionNum]]

# print 'correctAnswer', correctAnswer# print 'questionNum',questionNum# print 'states',stateswrongAnswers=list(capitals.values())

# print wrongAnswersdelwrongAnswers[wrongAnswers.index(correctAnswer)] #删除错误值中的正确值wrongAnswers=random.sample(wrongAnswers,3) #选择三个随机错误值answerOptions=wrongAnswers+[correctAnswer]

random.shuffle(answerOptions)

# Write the question and the anser options to the quiz file# print 'questionNum+1:',questionNum+1# print 'states[questionNum]:', states[questionNum]quizFile.write('%s. What is the capital of %s?\n'%(questionNum+1,states[questionNum]))

fori inrange(4):

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

# print 'correctAnswer',correctAnswer# print 'answerOptions[N]:',answerOptions[i]# print ' print answerOptions.index(correctAnswer):',answerOptions.index(correctAnswer)quizFile.write('\n')

# Write the answer key to a file# print answerOptions.index(correctAnswer)answerKeyFile.write('%s. %s\n'%(questionNum+1,'ABCD'[answerOptions.index(correctAnswer)]))

quizFile.close()

answerKeyFile.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值