鱼C论坛

 找回密码
 立即注册
查看: 1739|回复: 0

[作品展示] 中国省会测试自动生成

[复制链接]
发表于 2023-4-8 23:41:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
自动生成 35 份不同的测试题与答案
  1. #! python3
  2. # 生成中国省会测试 35份

  3. import random
  4. import os


  5. # 保存各个省会的字典 23个省,5个自治区,4个直辖市2个特别行政区 总34
  6. capitals = {
  7.     '河北': '冀 石家庄',
  8.     '河南': '豫 郑州',
  9.     '陕西': '陕或秦  西安',
  10.     '山西': '晋 太原',
  11.     '山东': '鲁 济南',
  12.     '甘肃': '甘或陇 兰州',
  13.     '辽宁': '辽 沈阳',
  14.     '吉林': '吉 长春',
  15.     '黑龙江': '黑 哈尔滨',
  16.     '云南': '云或滇 昆明',
  17.     '贵州': '贵或黔 贵阳',
  18.     '福建': '闽 福州',
  19.     '广东': '粤 广州',
  20.     '海南': '琼 海口',
  21.     '台湾': '台 ',
  22.     '四川': '川或蜀 成都',
  23.     '湖北': '鄂 武汉',
  24.     '湖南': '湘 长沙',
  25.     '江西': '赣 南昌',
  26.     '安徽': '皖 合肥',
  27.     '江苏': '苏 南京',
  28.     '浙江': '浙 杭州',
  29.     '青海': '青 西宁',
  30.     '北京': '北京',
  31.     '天津': '天津',
  32.     '重庆': '重庆',
  33.     '上海': '上海 ',
  34.     '内蒙古自治区': '呼和浩特',
  35.     '新疆维吾尔自治区': '乌鲁木齐',
  36.     '西藏自治区': '拉萨',
  37.     '广西壮族自治区': '南宁',
  38.     '宁夏回族自治区': '银川',
  39.     '香港特别行政区': '香港',
  40.     '澳门特别行政区': '澳门'}

  41. # 生成 35 份测试试卷
  42. for quiz_num in range(35):
  43.     # 1、 创建试卷 文件,和答案文件
  44.     quiz_file = open('试卷%s.txt' % (quiz_num + 1), 'w')
  45.     answer_keyfile = open('试卷%s答案.txt' % (quiz_num + 1), 'w')
  46.     # 2、试卷头部 姓名 日期 班级
  47.     quiz_file.write((' ' * 40) + "试卷(卷 %s)\n" % (quiz_num + 1))
  48.     quiz_file.write('姓名:\t\t\t日期:\t\t\t班级:\t\t\t')
  49.     quiz_file.write('\n\n')

  50.     # 创建随机列表
  51.     states = list(capitals.keys())
  52.     random.shuffle(states)

  53.     # 创建答案选项
  54.     for question_num in range(34):
  55.         # 选项
  56.         correct_answer = capitals[states[question_num]]
  57.         wrong_answers = list(capitals.values())
  58.         del wrong_answers[wrong_answers.index(correct_answer)]
  59.         wrong_answers = random.sample(wrong_answers, 3)
  60.         answer_options = wrong_answers + [correct_answer]
  61.         random.shuffle(answer_options)

  62.         # 将问题跟答案写入到 答案文件
  63.         quiz_file.write('%s. %s的省会是什么?\n' % (question_num + 1,
  64.                                              states[question_num]))
  65.         for i in range(4):
  66.             quiz_file.write('%s. %s\n' % ('ABCD'[i], answer_options[i]))
  67.             # quiz_file.write('\n')
  68.         quiz_file.write('\n')
  69.         #
  70.         answer_keyfile.write('%s. %s\n' % (question_num + 1,
  71.                                            'ABCD'[answer_options.index(correct_answer)]))
  72.     quiz_file.close()
  73.     answer_keyfile.close()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 16:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表