import random landmarks = {"中国": "长城", "古埃及": "金字塔", "法国": "埃菲尔铁塔", "印度": "泰姬陵", "英国": "大本钟", "美国": "自由女神像", "意大利": "比萨斜塔", "澳大利亚": "悉尼歌剧院", "希腊": "帕特农神庙", "日本": "富士山", "南非": "好望角", "丹麦": "小美人鱼铜像", "巴西": "基督像", "泰国": "大皇宫", "加拿大": "CN塔", "荷兰": "桑斯安斯风车村", "俄罗斯": "红场", "捷克": "布拉格城堡", "沙特阿拉伯": "麦加大清真寺", "西班牙": "圣家族大教堂" } for i in range(1, 11): filename = "小小旅行家" + str(i) + ".txt" ansfilename = "小小旅行家" + str(i) + "答案.txt" file = open(filename, "w") ansfile = open(ansfilename, "w") # 写入抬头 file.write("姓名\n\n班级\n\n日期\n\n成绩\n\n") file.write(" " * 20 + f"小小旅行家挑战赛 form {i}\n") # 生成题目 questions = list(landmarks.keys()) random.shuffle(questions) for j in range(10): # 生成题目 key = questions[j] file.write(f"{j + 1}.{key}的标志性建筑是()\n") # 生成选项 correct_option = landmarks[key] options = list(landmarks.values()) options.remove(correct_option) random.shuffle(options) all_options = options[0:4] + [correct_option] random.shuffle(all_options) for k in range(4): if (all_options[k] == correct_option): # 写入答案 ansfile.write(f"{j + 1}.{chr(65 + k)}\n") file.write(f"{chr(65 + k)}.{all_options[k]}\n") file.write("\n") file.close() ansfile.close()