import random # 匹配的国家和地标 landmarks = {"中国": "长城", "古埃及": "金字塔", "法国": "埃菲尔铁塔", "印度": "泰姬陵", "英国": "大本钟", "美国": "自由女神像", "意大利": "比萨斜塔", "澳大利亚": "悉尼歌剧院", "希腊": "帕特农神庙", "日本": "富士山", "南非": "好望角", "丹麦": "小美人鱼铜像", "巴西": "基督像", "泰国": "大皇宫", "加拿大": "CN塔", "荷兰": "桑斯安斯风车村", "俄罗斯": "红场", "捷克": "布拉格城堡", "沙特阿拉伯": "麦加大清真寺", "西班牙": "圣家族大教堂" } # 生成10套测验 for i in range(10): # 新建带编号的测试卷和答案文件    testNum = i + 1 testFile = open('小小旅行家%s.txt'%(testNum), 'w') answerFile = open('小小旅行家_答案%s.txt'%(testNum), 'w') # 写测试卷的抬头 testFile.write('姓名:\n\n班级:\n\n日期:\n\n') testFile.write((' ' * 20) + '小小旅行家地标挑战赛 (Form %s)' % (testNum)) testFile.write('\n\n') # 打乱顺序 states = list(landmarks.keys()) random.shuffle(states) # 生成10道题目和答案 for j in range(10): # 设置问题并写入 questionNum = j + 1 state = states[j] testFile.write(f'{questionNum}. {state} 的地标建筑是?\n') # 获取选项 correctAnswer = landmarks[state] wrongAnswers = list(landmarks.values()) wrongAnswers.remove(correctAnswer) wrongAnswers = random.sample(wrongAnswers, 3) answerOptions = wrongAnswers + [correctAnswer] # 打乱【答案选项】 random.shuffle(answerOptions) # 将选项写入测验文件 for k in range(4): testFile.write(f' {"ABCD"[k]}. {answerOptions[k]}\n') testFile.write('\n') # 将答案写入答案文件 correctOption = 'ABCD'[answerOptions.index(correctAnswer)] answerFile.write(f'{questionNum}. {correctOption}\n') # 关闭测验文件、答案文件 testFile.close() answerFile.close()