import random
capitals = {'甘肃': '兰州市', '西藏': '拉萨', '新疆': '乌鲁木齐', '宁夏': '银川', '内蒙古': '呼和浩特', '吉林': '长春', '黑龙江': '哈尔滨', '辽宁':
'沈阳', '河北': '石家庄', '河南': '洛阳', '山东': '济南', '陕西': '西安', '山西': '太原', '湖南': '长沙', '湖北': '武汉', '四川': '成都',
'福建': '福州', '广西': '桂林', '广东': '广州', '海南': '三亚', '安徽': '合肥', '江西': '南昌', '青海': '西宁', '江苏': '南京', '贵州': '贵阳',
'云南': '昆明', '浙江': '杭州'}
# 循环50次创建50个文本
for quizNum in range(50):
# 创建两个文件,一个为试卷一个为答案
quizFile = open('capitalsquiz%s.txt' % (quizNum + 1), 'w')
answerKeyFile = open('capitalsquiz_answer%s.txt'% (quizNum + 1), 'w')
# 向试卷内写入姓名,时间以及试卷名称
quizFile.write('Name:\n\nDate:\n\n')
quizFile.write(' '*20 + '国家省会测试%s\n' % (quizNum + 1))
states = list(capitals.keys())
random.shuffle(states)
# 循环输出题目
for questionNum in range(27):
# 获取到题目中的省份以及省会
corr = capitals[states[questionNum]]
wrong = list(capitals.values())
# 删除列表中的正确答案
del wrong[wrong.index(corr)]
# 从已经删除正确答案的列表中随机取三个值
wrong = random.sample(wrong, 3)
# 把取到的三个错误值和正确的值拼在一起并打乱顺序
answerOption = wrong + [corr]
random.shuffle(answerOption)
# 输出题目
quizFile.write('%s.%s的省会城市是?\n' % (questionNum + 1, states[questionNum]))
# 循环在试卷中输出答案
for i in range(4):
quizFile.write('%s.%s\n' % ('ABCD'[i], answerOption[i]))
quizFile.write('\n')
# 往答案的文件夹里面写入每一题的答案
answerKeyFile.write('%s. %s\n' % (questionNum + 1, 'ABCD'[answerOption.index(corr)]))
quizFile.close()
answerKeyFile.close()
一个关于省份的小测试
最新推荐文章于 2023-03-24 21:09:54 发布