sairate 7df250638d chore: 添加项目基础结构和示例代码
- 创建 .idea 目录和相关配置文件,设置项目结构
- 添加多个课堂成果示例代码,涵盖不同主题和功能
- 创建和配置 .gitignore 文件,忽略特定文件和目录
2025-07-05 09:36:00 +08:00

50 lines
2.1 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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()