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

上一篇 / 下一篇  2017-08-28 17:48:39 / 个人分类:python

#-*- coding:utf-8 -*-
import random

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'}

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

#Shuffle the order of the states
states=list(capitals.keys())
#print 'states count:', len(states)
random.shuffle(states)

for questionNum in range(47):
#print questionNum
correctAnswer=capitals[states[questionNum]]
# print 'correctAnswer', correctAnswer
# print 'questionNum',questionNum
# print 'states',states
wrongAnswers=list(capitals.values())
# print wrongAnswers
del wrongAnswers[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]))

for i in range(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()

TAG:

 

评分:0

我来说两句

Open Toolbar