test generate

import random   ##导入模块
capitals = {'Alabama': 'Montgomery', 'Alaska': 'Juneau', 'Arizona': 'Phoenix', 'Arkansas': 'Little Rock', 'California': 'Sacramento', 'Colorado': 'Denver', 'Connecticut': 'Hartford', 'Delaware': 'Dover', 'Florida': 'Tallahassee', 'Georgia': 'Atlanta', 'Hawaii': 'Honolulu', 'Idaho': 'Boise', 'Illinois': 'Springfield', 'Indiana': 'Indianapolis', 'Iowa': 'Des Moines', 'Kansas': 'Topeka', 'Kentucky': 'Frankfort', 'Louisiana': 'Baton Rouge', 'Maine': 'Augusta', 'Maryland': 'Annapolis', 'Massachusetts': 'Boston', 'Michigan': 'Lansing', 'Minnesota': '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': 'Raleigh', 'North Dakota': 'Bismarck', 'Ohio': 'Columbus', 'Oklahoma': 'Oklahoma City', 'Oregon': 'Salem', 'Pennsylvania': 'Harrisburg', 'Rhode Island': 'Providence', 'South Carolina': 'Columbia', 'South Dakota': 'Pierre', 'Tennessee': 'Nashville', 'Texas': 'Austin', 'Utah': 'Salt Lake City', 'Vermont': 'Montpelier', 'Virginia': 'Richmond', 'Washington': 'Olympia', 'West Virginia': 'Charleston', 'Wisconsin': 'Madison', 'Wyoming': 'Cheyenne'}
##生成试卷和答案文件
for number in range(35):
quizfile = open ('capitalsquiz%s.txt'%(number + 1),'w')
answer = open('capitalsquiz_answer%s.txt' %(number + 1),'w')
###写入试卷的前部分
quizfile.write('Name:\n\nDate:\n\nPeriod:\n\n')
quizfile.write((' ' * 20) + 'state Capitals Quiz (form %s)' %(number + 1))
quizfile.write('\n\n')
##利用random.shuffle生成试卷中的首都
states = list(capitals.keys())
random.shuffle(states)
###生成试卷中的答案内容
for qnumber in range(35):
correct = capitals[states[qnumber]]
wrong = list(capitals.values())
del wrong[wrong.index(correct)]
wrong = random.sample(wrong,3)
answeroption = wrong + [correct]
random.shuffle(answeroption)
####写入试卷内容
quizfile.write('%s.what is the capital of %s? \n'%(number +1 ,states[number]))
for i in range(4): quizfile.write('%s.%s\n' %('ABCD'[i],answeroption[i])) quizfile.write('\n') ##写入答案的内存 answer.write('%s . %s\n' %(number +1 ,'ABCD'[answeroption.index(correct)])) quizfile.close() answer.close()
posted @ 2018-01-23 17:51  Shadow_yang  阅读(87)  评论(0编辑  收藏  举报