Python 点滴5 文件读写举例-生成测验试卷

发布一下 0 0

几个小知识:(程序中使用到了)

random.shuffle() 函数 : 方法将序列的所有元素随机排序

radom.sample(a,n)函数:从序列a中随机抽取n个元素,并将n个元素生以list形式返回

.keys() 函数返回的是一个可迭代序列 不是列表,需要 list(X.keys())才能得到列表

index()函数可用于查找列表中对应函数的索引值并输出

'ABCD'[i] 意思是:ABCD看成一个数组,在每次的循环中迭代,值分别是 'A'、'B'、'C'、'D'

import randomcapitals = {'Alabama':'Montgomery','Alaska':'Juneau','Arizona':'Phoenix','Arkansas':'Little Rock','California':'Sacramento',            'Colorado':'Denver','Connectiuct':'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':'Lanslng','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','Oklahome':'Oklahoma City','Oregon':'Salem','Pennsylvania':'Harrisburg','Rhode Island':'Providence',            'South Crolina':'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 quizNum in range(35):    quizFile = open('capitalsquiz%s.txt' % (quizNum + 1),'w')    answerKeyFile = open('capitalsquiz_answers%s.txt' % (quizNum + 1),'w')    quizFile.write('Name:\n\nDate:\n\nPeriod:\n\n')    quizFile.write((' ' * 20) + 'State Capitals Quiz (From %s)' % (quizNum + 1))    quizFile.write('\n\n')    states = list(capitals.key())    random.shuffle(states)    for questionNum in range(50):        correctAnswer = capitals(states[questionNum])        wrongAnswers = list(capitals.valuse())        del wrongAnswers[wrongAnswers.index(correctAnswer)]        wrongAnswers = random.sample(wrongAnswers,3)        answerOptions = wrongAnswers + [correctAnswer]        random.shuffle(answerOptions)        quizFile.write('%s. What is the capital of %s?\n' %(questionNum + 1,states[questionNum]))        for i in range(4):            quizFile.write:            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()

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/155876.html