==============
版权声明:由于公众号后台规则问题,本文暂时无法设置原创标记,但仍属原创内容,微信公众号“Python小屋”坚持只发原创技术文章。
=============
推荐教材:
董付国著,《Python程序设计与数据采集(微课版)》,ISBN:978-7-115-61183-3,人民邮电出版社,2023年5月出版,定价59.8元
配套资源:教学大纲、电子教案、课件、源码、数据文件、章节习题及答案、25小时微课、在线练习与考试系统
样书申请:https://www.ryjiaoyu.com/book/details/45732
=============
任务描述:
山东2023年高考考生需要参加语文、数学、英语统一考试和6选3选考科目的考试,对选考科目成绩进行赋分后计算总分并按总分降序排列得到升序位次,然后按照位次数字从小到大(即总分从高到低)依次进行投档和录取。
每个志愿(学校+专业或专业类)都有计划人数和选考科目要求,每个考生可以填报96个志愿,当投档进行到某个考生时按照填报的志愿顺序进行检查,如果该志愿尚未录满并且符合选科要求则录取,否则检查考生填报的下一个志愿,如果该考生填报的所有志愿都无法录取则滑档。如果某个志愿没有录取到预期人数,则需要继续征集志愿。
编写程序,模拟生成志愿人数与选科要求、考生志愿填报情况以及投档录取过程。在程序中,假设有1000个志愿可以选择、5000个考生参加高考、每个考生可以填报20个志愿,没有考虑单科成绩受限和体检受限的情况。
代码1:生成不同志愿的计划人数与选科要求
代码2:生成考生志愿填报数据
代码3:模拟投档和录取过程
运行结果:
注意,上面第二个程序故意设计了一个bug,这样的志愿填报方式会导致滑档人数多于正常情况,第一位发现这个bug并留言给出解决方法的朋友可以获得一本图书《Python程序设计与数据采集(微课版)》。
================
温馨提示:
关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过190次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1300篇原创技术文章;发送消息“会议”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过700节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习2601道客观题和661道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。