幾個(gè)小知識(shí):(程序中使用到了)
random.shuffle() 函數(shù) : 方法將序列的所有元素隨機(jī)排序
radom.sample(a,n)函數(shù):從序列a中隨機(jī)抽取n個(gè)元素,并將n個(gè)元素生以list形式返回
.keys() 函數(shù)返回的是一個(gè)可迭代序列 不是列表,需要 list(X.keys())才能得到列表
index()函數(shù)可用于查找列表中對(duì)應(yīng)函數(shù)的索引值并輸出
‘ABCD'[i] 意思是:ABCD看成一個(gè)數(shù)組,在每次的循環(huán)中迭代,值分別是 ‘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:Date:Period:’)quizFile.write((‘ ‘ * 20) + ‘State Capitals Quiz (From %s)’ % (quizNum + 1))quizFile.write(”)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?’ %(questionNum + 1,states[questionNum]))for i in range(4):quizFile.write:quizFile.write( ‘%s. %s’ %(‘ABCD'[i],answerOptions[i]))quizFile.write(”)answerKeyFile.write(‘%s. %s’ %(questionNum + 1,’ABCD'[answerOptions.index(correctAnswer)]))quizfile.close()answerKeyFile.close()