import random
capitals = {'北京': '北京', '天津': '天津', '上海': '上海', '重庆': '重庆', '内蒙古': '呼和浩特', '广西': '南宁', '西藏': '拉萨',
'宁夏': '银川', '新疆': '乌鲁木齐', '香港': '香港', '澳门': '澳门', '河北': '石家庄', '山西': '太原', '辽宁': '沈阳',
'吉林': '长春', '黑龙江': '哈尔滨', '江苏': '南京', '浙江': '杭州', '安徽': '合肥', '福建': '福州', '江西': '南昌',
'山东': '济南', '河南': '郑州', '湖北': '武汉', '湖南': '长沙', '广东': '广州', '海南': '海口', '四川': '成都',
'贵州': '贵阳', '云南': '昆明', '陕西': '西安', '甘肃': '兰州', '青海': '西宁', '台湾': '台北', }
for quizNum in range(35):
# 创建试卷文件及答案文件
quizFile = open('D:\\work\\pythonProject\\quiz\\capitalsQuiz' + str(quizNum + 1) + '.txt', 'w')
quizAnsFile = open('D:\\work\\pythonProject\\quiz\\capitalsAnsQuiz' + str(quizNum + 1) + '.txt', 'w')
# 试卷前部分
quizFile.write('Name:\nDate\nPeriod\n')
quizFile.write(' ' * 20 + 'State Capitals Quiz (From )' + str(quizNum + 1))
quizFile.write('\n\n')
# 随机打乱
states = list(capitals.keys())
random.shuffle(states)
for questionNum in range(len(capitals.keys())):
# 生成答案
correctAnswer = capitals[states[questionNum]]
wrongAnswer = list(capitals.values())
del wrongAnswer[wrongAnswer.index(correctAnswer)]
answerOptions = random.sample(wrongAnswer, 3)
answerOptions.append(correctAnswer)
random.shuffle(answerOptions)
# 生成题目写入文件
quizFile.write(str(questionNum + 1) + '.____是 ' + states[questionNum] + '省的省会城市?\n')
for i in range(4):
quizFile.write(' ' + 'ABCD'[i] + '.' + answerOptions[i])
quizFile.write('\n')
# 写入答案
quizAnsFile.write(str(questionNum + 1) + '.' + 'ABCD'[answerOptions.index(correctAnswer)] + '\n')
quizFile.close()
quizAnsFile.close()