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

董付国老师Python系列教材推荐与选用参考

开学第一课:一定不要这样问老师Python问题

3000道Python习题免费在线练习

==============

版权声明:由于公众号后台规则问题,本文暂时无法设置原创标记,但仍属原创内容,微信公众号“Python小屋”坚持只发原创技术文章。

=============

推荐教材:

董付国著,《Python程序设计与数据采集(微课版)》,ISBN:978-7-115-61183-3,人民邮电出版社,2023年5月出版,定价59.8元

配套资源:教学大纲、电子教案、课件、源码、数据文件、章节习题及答案、25小时微课、在线练习与考试系统

样书申请:https://www.ryjiaoyu.com/book/details/45732

6c469afd3f92345496cb8942497cd229.jpeg

=============

任务描述:

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

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

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

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

f2438e499d36835c4319b50cce76fb7a.png

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

d1a1aef1c77753983726f4396a608837.png

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

440211b27c43000508ec821baf12d13a.png

运行结果:

759bd5781435924a29fb7be1402919da.png

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

================

温馨提示:

关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过190次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1300篇原创技术文章;发送消息“会议”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过700节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习2601道客观题和661道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值