前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python模拟山东省2023年高考志愿填报与投档录取过程

Python模拟山东省2023年高考志愿填报与投档录取过程

作者头像
Python小屋屋主
发布2023-08-29 17:34:55
发布2023-08-29 17:34:55
3500
举报
文章被收录于专栏:Python小屋Python小屋

任务描述:

山东2023年高考考生需要参加语文、数学、英语统一考试和6选3选考科目的考试,对选考科目成绩进行赋分后计算总分并按总分降序排列得到升序位次,然后按照位次数字从小到大(即总分从高到低)依次进行投档和录取。

每个志愿(学校+专业或专业类)都有计划人数和选考科目要求,每个考生可以填报96个志愿,当投档进行到某个考生时按照填报的志愿顺序进行检查,如果该志愿尚未录满并且符合选科要求则录取,否则检查考生填报的下一个志愿,如果该考生填报的所有志愿都无法录取则滑档。如果某个志愿没有录取到预期人数,则需要继续征集志愿。

编写程序,模拟生成志愿人数与选科要求、考生志愿填报情况以及投档录取过程。在程序中,假设有1000个志愿可以选择、5000个考生参加高考、每个考生可以填报20个志愿,没有考虑单科成绩受限和体检受限的情况。

代码1:生成不同志愿的计划人数与选科要求

代码2:生成考生志愿填报数据

代码3:模拟投档和录取过程

运行结果:

注意,上面第二个程序故意设计了一个bug,这样的志愿填报方式会导致滑档人数多于正常情况,第一位发现这个bug并留言给出解决方法的朋友可以获得一本图书《Python程序设计与数据采集(微课版)》。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档