【楚怡杯】职业院校技能大赛 “Python程序开发”赛项样题三

news2024/11/13 20:36:23

Python程序开发实训

(时量:240分钟)

中国·XX

实训说明

  • 注意事项

1. 请根据提供的实训环境,检查所列的硬件设备、软件清单、材料清单是否齐全,计算机设备是否能正常使用。

2. 实训结束前,在实训平台提供的虚拟机中,根据题目将各个代码进行完善整合,并运行;根据实训平台左侧的答题区进行答题,根据题目对运行代码及结果进行截图。

3. 实训结束后,请将报告区的实训报告进行提交操作,实训报告在实训结束前可重复提交。

  • 实训环境

1. PC机:系统已安装Python相关环境、MySQL数据库,数据库用户名和密码分别为:root/123456。

2. 根据题目说明,从实训平台虚拟机桌面获取程序开发项目工程代码包。桌面的工程代码可以直接使用虚拟机中的Pycharm导入、编译、运行和发布。

  • 题目说明

本套题目包括五个部分:

第一部分为程序开发,第二部分数据获取,第三部分为数据清洗, 第四部分为数据处理,第五部分为数据可视化。请考生根据题目中所描述的需求编码实现功能。

题目

第一部分:程序开发(30分)

第1题:实现管理员登录功能(4.5分)

【任务要求】

本任务需要实现管理员登录功能,如果登录成功,进入首页,否则提示登录失败。

【任务描述】

  1. 登录页面如图1-1所示,帐户信息(用户名:admin,密码:admin)。
  2. 补充login函数代码,实现登录功能,即当管理员填写完登录信息以后,如果登录信息正确,进入登录首页。
  3. 将补全的代码截图复制粘贴至提交结果文档,将登录成功后进入的页面截图提交至结果文档。
  4. 截图页面需要包含完整的url链接。

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/01程序开发/01工程代码”文件夹中获取程序开发项目工程代码。

【API接口】

接口名称

API

登录 API

http://127.0.0.1:8080/user/login

电脑萤幕画面  低可信度描述已自动生成

图1-1 登录面

第2题:实现学生信息查询功能(10分)

【任务要求】

本任务需要实现如下功能:在学生信息界面,展示学生信息;并以学生学号或手机号为条件实现查询功能。

【任务描述】

  1. 登录学生信息管理网站(用户名:admin,密码:admin),登录页面如图1-1所示,进入首页。
  2. 补充student_index函数代码,按id降序排列,返回学生信息,并以每页10条数据进行分页,展示第1页、第5页数据。将补全的代码截图复制粘贴至提交结果文档,将展示的第1页、第5页的页面截图提交至结果文档。
  3. 补充student_index函数代码,实现按学号或手机号查询学生信息功能,查询学号为11038738的学生信息和电话为13158447573的学生信息。将补全的代码截图复制粘贴至提交结果文档,将展示的学号为11038738的学生信息页面和展示的电话为13158447573的学生信息页面截图提交至结果文档。
  4. 截图页面需要包含完整的url链接。

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/01 程序开发/01 工程代码”文件夹中获取程序开发项目工程代码。

【API接口】

接口名称

API

查询学生信息 API

http://127.0.0.1:8080/health/student_index/

第3题:实现编辑学生信息功能(10分)

【任务要求】

本任务需要实现如下功能:在学生管理-新增学生页面新建学生信息,在学生列表页面中,选择操作下的编辑功能,编辑指定学生信息的个人信息。

【任务描述】

  1. 登录学生信息管理网站(用户名:admin,密码:admin),登录页面如图1-1所示,进入首页。
  2. 补充student_create函数代码,实现新增学生信息功能,并新增一个学生信息,学号为11012345,姓名为张三,电话为13111223344,地址为湖南省长沙市橘子洲,院系为信息工程学院,专业为软件工程。新增完成后,在health/student_index/页面可以看到新增学生信息。将补全的代码截图复制粘贴至提交结果文档,将在health/student_index/页面查看到的新增学生张三的信息页面截图提交至结果文档。
  3. 补充student_update函数代码,实现编辑学生信息功能,编辑李金凤的个人信息,把电话号码修改为13511223344,把地址修改为四川省成都市天府广场。修改完成后,在health/student_index/页面可以看到修改后的学生信息。将补全的代码截图复制粘贴至提交结果文档,将在health/student_index/页面查看到的修改学生李金凤的信息页面截图提交至结果文档。
  4. 补充student_delete函数代码,实现删除学生功能,并删除张秀芳的学生信息。将补全的代码截图复制粘贴至提交结果文档,删除张秀芳学生信息之后将学生信息首页页面截图提交至结果文档。
  5. 截图页面需要包含完整的url链接。

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/01 程序开发/01 工程代码”文件夹中获取程序开发项目工程代码。

【API接口】

接口名称

API

新建学生信息 API

http://127.0.0.1:8080/health/student_create/

修改学生信息 API

http://127.0.0.1:8080/health/student_update/

删除学生信息 API

http://127.0.0.1:8080/health/student_delete/

第4题:实现查询存在健康风险的学生功能(5.5分)

【任务要求】

本任务需要实现如下功能:健康管理-风险信息页面实现查询存在健康风险的学生功能。

【任务描述】

  1. 登录学生信息管理网站(用户名:admin,密码:admin),登录页面如图1-1所示,进入首页。
  2. 补充health_risk函数,实现筛选存在健康风险学生信息功能,返回所有在2021.12.02(包括12.02)-2021.12.17(包括12.17)时间段内,有新冠肺炎症状或途径风险区或体温大于等于37度的学生,且按申报时间降序排列。将补全的代码截图复制粘贴至提交结果文档,将健康风险学生信息查询页面截图提交至结果文档。
  3. 截图页面需要包含完整的url链接。

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/01 程序开发/01 工程代码”文件夹中获取程序开发项目工程代码。

【API接口】

接口名称

API

存在健康风险学生信息 API

http://127.0.0.1:8080/health/health_risk/

第二部分:数据获取(20分)

第5题:利用urllib库和BS4抓取疫情数据。

【任务要求】

基于Python爬虫代码从指定静态网页中抓取全球国家疫情数据,爬取内容包括:国家、现存确诊、累计确诊、死亡、治愈。再将爬取的数据写入数据库中。

【任务描述】

1、完善Task.py的内容,并将函数内容复制粘贴至提交结果文档。

1)getHtml()函数用于发送请求,解析html网页,请将完整的getHtml()函数截图复制粘贴至提交结果文档。

2)getData()函数使用beautifulSoup中的方法,从html网页中获取全球的国家名称、现存确诊人数、累计确诊人数、死亡人数、治愈人数,将获取到的数据保存到列表中,将此列表以参数形式传递到下一个函数。请将完整的getData()函数内容截图复制粘贴至提交结果文档。

3)函数toMysql()创建MySql数据库链接,将获取到的数据写入到数据表中(数据表需要使用sql指令自行创建)。请将完整的toMysql()函数内容截图复制粘贴至提交结果文档。

2、运行代码,使用SQL命令查看数据表前40条数据和最后40条数据, 将查看结果复制粘贴至提交结果文档

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/02 数据获取/05 工程代码”文件夹中获取数据获取项目工程代码。

第三部分:数据清洗(15分)

第6题:使用Pandas对疫情数据进行清洗分析(15分)

【任务要求】

利用Pandas函数完成对疫情数据进行清洗,包括数据缺失值的查找、重复数据处理、缺失数据替换和删除等。

【任务描述】

1、数据说明:

数据一共五列,分别为国家名称,省份名称,更新时间,城市名称,城市确诊人数。

2、完善Num06.py文件中的内容,并将函数内容截图提交至结果文档。

  1. getNumberofData()函数用于获取data共有多少条数据。
  2. checkMissingData()函数用于检查数据集中缺失的数据项,请将完整的checkMissingData()函数截图提交至结果文档。
  3. NanFilling()函数用于对缺失的数据项进行填补,请将完整的NanFilling()函数截图提交至结果文档。
  4. DeleteRedundantData()函数用于对冗余数据进行删除,请将完整的DeleteRedundantData()函数截图提交至结果文档。
  5. deleteMissingData()函数用于对缺失的数据项进行删除,请将完整的deleteMissingData()函数截图提交至结果文档。
  6. 完成主函数代码,通过代码实现结果保存,查看前10条和后10条数据,请将完整的主函数截图提交至结果文档。
  7. 打开保存的文件查看结果内容,并截图提交至结果文档。

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/03 数据清洗/06 工程代码”文件夹中获取数据清洗项目工程代码。

第四部分:数据处理(20分)

第7题:使用re模块对疫情数据进行处理(10分)

【任务要求】

使用re模块,结合正则表达式来筛选符合要求的数据。

【任务描述】

1、数据说明:

从2019年末到2020年初,从武汉到全国,新冠肺炎疫情持续发展,中国战“疫”一刻不歇,该文档按行收录了疫情相关信息及口号。

2、完善Num07.py文件中内容,并将函数内容截图复制粘贴至提交结果文档。

  1. data_pro()为数据处理函数,读取同级目录下待处理的txt文件,按行处理进行规则匹配,保留中英文及数字(\u4e00和\u9fa5是Unicode值,分别表示中文字符的头和尾),将符合要求的数据进行无分隔符的拼接,并按行写入当前目录下’数据处理后结果.txt’文件内。请将完整的data_pro()函数截图复制粘贴至提交结果文档。
  2. 结果运行并保存,打开保存的文件查看数据处理后的结果,将结果截图,并将截图提交至结果文档。

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/04 数据处理/07 工程代码”文件夹中获取数据处理项目工程代码。

第8题:使用os模块对疫情数据进行处理(10分)

【任务要求】

使用os模块,实现文件路径的切换及查找等。

【任务描述】

1、完善Num08.py文件中内容,并将结果按要求提交至结果文档。

  1. search_file()作用为寻找符合要求的文件的路径,要查找的文件类型为txt和jpg,找出指定路径下所有符合要求的文件的路径,将结果添加进事先创建好的列表file_list中。

请将完整的search_file()函数截图提交至结果文档。

  1. save_file()为保存文件的函数,将指定文件存放在当前目录下RES文件夹内,若不存在该路径则写代码创建该路径,将file_list的结果按行写入文件夹内fileList.txt文件下请将完整的save_file()函数截图复制粘贴至提交结果文档。
  2. 结果运行并保存,打开保存的文件查看数据处理后的结果,将结果截图,并将截图提交至结果文档。

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/04 数据处理/08 工程代码”文件夹中获取数据处理项目工程代码。

任务五:数据可视化(15分)

第9题:使用Matplotlib对疫情数据进行可视化展示(8分)

【任务要求】

编写Python程序,使用Matplotlib对疫情相关数据进行分析并进行可视化展示,并按要求存放数据分析和可视化结果。

【任务描述】

1、折线图说明

  1. 完善Num09.py文件中plt_img1()函数代码绘制折线图,数据为当前目录下的cs_area.csv文件,根据更新时间和城市确诊数量绘图:

①、需创建画布,指定大小为(15,5)

②、绘制标题(长沙市疫情走势),字体大小指定为20

③、添加X轴标签和Y轴标签分别为更新时间、城市确诊人数,均指定字体大小为12

④、绘制折线图,必须指定线的风格为‘-’,颜色指定为‘#68BFCF’

⑤、在每个数据对应的坐标点处绘制一个点,颜色指定为‘#DF927C’,点的大小指定为20,并在每个坐标点旁显示其对应的Y值大小(x轴方向偏左0.1,y轴方向偏上0.2)

⑥、绘制网格线

⑦、保存图片到当前目录下文件名为img_1.jpg,并显示图片请将完整的plt_img1()函数截图提交至结果文档。

  1. 输出折线图,将可视化结果截图并保存至提交结果文档。
  2. 参考图如下:

2、柱状图说明

1)完善Num09.py文件中plt_img2()函数代码绘制柱状图,数据 为当前目录下cs_area.csv,根据更新时间和城市确诊数量绘 图:

①、需创建画布,指定大小为(15,5)

②、绘制标题(长沙市确诊人数),字体大小指定为20

③、添加X轴标签和Y轴标签分别为更新时间、城市确诊人数,均指定字体大小为12

④、设置Y轴刻度(0,300),并显示刻度值(0,100,200)

⑤、根据XY值绘制柱状图,一共7条数据,指定颜色为['#DF927C','#A3C272','#FED863','#68BFCF','#1585DB','#D84F50','#C2E67F'],宽度指定为0.3

⑥、在每个柱状图上方(X轴方向偏左0.02,Y轴方向偏上0.8),显示其对应Y值得大小,指定为int类型

⑦、绘制网格线

⑧、保存图片到当前目录下文件名为img_2.jpg,并显示图片

请将完整的plt_img2()函数截图提交至结果文档。

2)输出柱状图,将可视化结果截图并保存至提交结果文档。

3)参考图如下:

3、饼图说明

1)完善Num09.py文件中plt_img3()函数代码绘制饼图,数据为 当前目录下hn_area.csv,根据城市名称和城市确诊数量绘图:

①、需创建画布,指定大小为(10,10)

②、绘制标题(湖南省各地区疫情确诊人数占比),字体大小指定为20

③、根据城市名称和城市确诊数量绘制饼图,占比显示设置为两位小数

④、添加图例,位置放在右上方

⑤、保存图片到当前目录下,文件名为img_3.jpg,并显示图片

请将完整的plt_img3()函数截图提交至结果文档。

2)输出饼图,将可视化结果截图并保存至提交结果文档。

3)参考图如下:

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/05 数据可视化/09 工程代码”文件夹中获取数据可视化项目工程代码。

第10题:使用wordcloud对疫情数据进行可视化展示(7分)

【任务要求】

使用wordcloud模块,实现词云图的绘制。

【任务描述】

  1. 词云图说明

1)完善Num10.py文件中plt_img4()函数代码绘制词云图,数据为当前目录下convid.txt

①、取好数据后进行words=jieba.lcut(data)处理,将处理后的数据words进行无分隔符的拼接生成新字符。

②、成wordcloud对象,字体指定为msyh.ttc,宽指定为1100,高指定为860,背景颜色指定为白色

③、根据步骤①把处理好的文本生成词云

④、把生成的词云图保存到当前目录下,文件名为img_4.jpg

请将完整的plt_img4()函数截图提交至结果文档。

2)输出词云图,将可视化结果截图并保存至提交结果文档。

【工程代码】

从虚拟机桌面 “Python开发实训/01工程代码/05 数据可视化/10 工程代码”文件夹中获取数据可视化项目工程代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1908010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue项目实现堆叠卡片拖动切换效果

实际效果 实现流程 1. 实现卡片位置堆叠 将父元素的 position 设置成relative ,卡片的position 设置成 absolute 即可。 2. 消除图片的移动 如果卡片上有图片,默认拖动的时候就会导致像上图一样变成了选中图片移动,从而没法触发拖动事件。消…

用Vue3和Plotly.js绘制交互式3D小提琴图

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Vue 中使用 Plotly.js 创建小提琴图 应用场景介绍 小提琴图是一种统计图,用于显示数据的分布和中心趋势。它结合了箱线图和密度图的特点,可以直观地展示数据的分散性和形状。 代码基本…

python如何进行pip换源

hello,大家好,我是一名测试开发工程师,至今已在自动化测试领域深耕9个年头,现已将本人实战多年的多终端自动化测试框架【wyTest】开源啦,请大家快来体验并关注我吧。 Python的包管理工具pip是开发者必备的利器之一。然…

YOLOv9:一个关注信息丢失问题的目标检测

本文来自公众号“AI大道理” 当前的深度学习方法关注的是如何设计最合适的目标函数,使模型的预测结果最接近地面的真实情况。同时,必须设计一个适当的体系结构,以方便获取足够的预测信息。 现有方法忽略了一个事实,即输入数据在逐…

理解JS与多线程

理解JS与多线程 什么是四核四线程? 一个CPU有几个核它就可以跑多少个线程,四核四线程就说明这个CPU同一时间最多能够运行四个线程,四核八线程是使用了超线程技术,使得单个核像有两个核一样,速度比四核四线程有多提升。…

el-scrollbar实现自动滚动到底部(AI聊天)

目录 项目背景 实现步骤 实现代码 完整示例代码 项目背景 chatGPT聊天消息展示滚动面板,每次用户输入提问内容或者ai进行流式回答时需要不断的滚动到底部确保展示最新的消息。 实现步骤 采用element ui 的el-scrollbar作为聊天消息展示组件。 通过操作dom来实…

Linux学习看这一篇就够了,超超超牛的Linux基础入门

引言 小伙伴们,不管是学习c还是学习其他语言在我们学的路上都绕不过操作系统,而且,老生常谈的Linux更是每个计算机人的必修,那么我们对Linux的了解可能只是从别人那听到的简单的这个系统很牛,巴拉巴拉的,但…

挑战全网最清晰解决文本文件乱码方案

标题 文本文件出现乱码之全网最清晰解决方案乱码出现的原因解决方案第一步:获取文件的原始编码格式。第二步,获取当前系统的格式第三步,将文件的内容以当前系统编码格式进行译码并且输出到新的文件中第四步,删除原文件&#xff0c…

韦东山嵌入式linux系列-LED驱动程序

之前学习STM32F103C8T6的时候,学习过对应GPIO的输出: 操作STM32的GPIO需要3个步骤: 使用RCC开启GPIO的时钟、使用GPIO_Init函数初始化GPIO、使用输入/输出函数控制GPIO口。 【STM32】GPIO输出-CSDN博客 这里再看看STM32MP157的GPIO引脚使用…

【智能算法改进】多策略改进的蜣螂优化算法

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】蜣螂优化算法(DBO)原理及实现 2.改进点 混沌反向学习初始化 采用 Pwlcm 分段混沌映射,由于 Pwlcm 在其定义区间上具有均匀的密度函数,在特定的…

windows电脑桌面便签在哪里找?

在忙碌的工作中,我们经常会有很多事情需要记住。这时,电脑桌面便签就成为了我们的好帮手。那么,在Windows电脑上,我们该如何找到桌面便签呢?下面,就让我来为大家详细介绍一下。 其实,Windows电…

Android多开应用软件系统设计

设计一个支持Android多开应用的软件系统,主要涉及到以下几个关键技术点和设计考虑: 1. 虚拟化技术 容器技术:与传统的虚拟机不同,可以采用更轻量级的容器技术,为每个应用实例创建独立的运行环境。这包括分配独立的用…

【CUDA】shuffle算法的一个优化

最近,笔者在阅读这篇文章时很好奇,为什么使用看起来高大上的shuffle算法之后,并没有造成优化反而有了负优化,想到了一个可以优化的地方:在最后针对一个warp进行处理时,当前block中不在第一个warp中的线程会…

【Linux】进程间通信——匿名管道

为什么要进行进程间通信? 1.数据传输:一个进程需要将它的数据发送给另一个进程,比如我们有两个进程,一个负责获取数据,另一个负责处理数据,这时第一个进程就要将获取到的数据交给第二个进程 2.资源共享&…

职业理念教育观

职业道德理念——教育观 教育是什么、干什么、为了什么,教育心该培养什么样的人、如何培养人等。 教育观 素质教育内涵 教学观 素质教育内涵 新课程改革的教学观

4.Python4:requests

1.requests爬虫原理 (1)requests是一个python的第三方库,主要用于发送http请求 2.正则表达式 #正则表达式 import re,requests str1aceace #A(.*?)B,匹配A和B之间的值 print(re.findall(a(.*?)e,str1))import re,requests str2hello com…

背包问题转换

如何转换成背包问题呢&#xff0c;我们可以把每个质数当成一个重量 #define _CRT_SECURE_NO_WARNINGS #include<bits/stdc.h> using namespace std;#define int long long int record[1005]; void fun() {//record[2] 1;for (int i 2; i < 1000; i) {if (!record[…

微信视频号及直播回放下载工具

最近需要下载微信视频号中的视频&#xff0c;找一圈&#xff0c;终于找到了&#xff0c;&#xff0c;免费&#xff0c;没广告 软件叫做&#xff1a;爱享素材下载器。 是一款开源的、完全免费的工具。 第1步&#xff1a;下载安装包 下载地址&#xff1a; https://github.com/p…

jmeter+ant+jenkins搭建 接口自动化测试平台

平台搭建 &#xff08;1&#xff09;录制jmeter脚本 &#xff08;2&#xff09;将jmeter的安装目录下的G:\jmeter\apache-jmeter-5.1.1\extras中&#xff0c;将 ”ant-jmeter-1.1.1.jar”文件放到 ant的lib目录下 &#xff08;3&#xff09;配置jmeter的xml配置文件&#xf…