您当前的位置:首页 > 计算机 > 编程开发 > Python

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

时间:01-10来源:作者:点击数:

任务描述:

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

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

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

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

f2438e499d36835c4319b50cce76fb7a.png

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

d1a1aef1c77753983726f4396a608837.png

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

440211b27c43000508ec821baf12d13a.png

运行结果:

759bd5781435924a29fb7be1402919da.png

注意,上面第二个程序故意设计了一个bug,这样的志愿填报方式会导致滑档人数多于正常情况。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门