Python程序开发实训
(时量:240分钟)
中国·XX
实训说明
- 注意事项
1. 请根据提供的实训环境,检查所列的硬件设备、软件清单、材料清单是否齐全,计算机设备是否能正常使用。
2. 实训结束后,将各试题代码整合,部署并运行到实训所提供的计算机设备上,并提交一个完整的项目工程代码到结果提交区,目录格式如图1所示。
图1 U盘目录格式
3.相关提交报告模板在“Python开发实训/02辅助文档”下,以下五个任务提交的报告分别对应(01至05)。
4. 实训结束后,请将“5个答题文档”提交到“Python开发实训/结果提交区/任务文档”里。
5. 实训结束后,请将/root/Desktop/目录下用于保存运行结果的“home”文件夹统一保存至“Python开发实训/结果提交区/HOME文件区”。
6. 实训结束后,请将所有任务完成的代码提交到“Python开发实训/结果提交区/项目代码”。
- 实训环境
1. 虚拟机:系统已安装Python相关环境、MySQL数据库,数据库用户名和密码分别为:root/123456。
2. 根据题目说明,从相应文件夹中获取程序开发项目工程代码,有些题目代码包括前端和后端两部分工程。目录中的工程代码可以直接本地导入、编译、运行和发布。
3. 根据API接口规范,利用Python语言编写API接口程序,编写完成后,运行前端工程,检验程序编写是否正确。
- 题目说明
本套题目包括五个部分:
第一部分为程序开发题,第二部分数据获取题,第三部分为数据清洗题, 第四部分为数据处理题,第五部分为数据分析与可视化题。请根据题目中所描述的需求,并参阅源代码中填写代码要求,自行设计,编码实现。
- 软件组件
- Python编程语言及相关开发环境(Python、PyCharm)
- Web框架(Django)
- Python数据分析组件(NumPy、Pandas)
- Python可视化组件(Matplotlib)
- 中文分词Python库( jieba )
- 词云( WordCloud )
题目
第一部分:程序开发(30分)
第1题:实现管理员登录功能(5分)
【任务要求】
本任务需要实现管理员登录功能,如果登录成功,进入首页,否则提示登录失败。
【任务描述】
- 登录页面如图1-1所示,帐户信息(用户名:admin,密码:admin)。
- 观察登录页面布局,填补相应页面代码和后端程序代码,实现当管理员填写完登录信息以后,如果登录信息正确,进入登录后首页如图1-2所示。将所需填空的命令和功能界面复制粘贴至对应报告中。
【工程代码】
从“Python开发实训/01工程代码/01 程序开发/01 工程代码”文件夹中获取程序开发项目工程代码。
【API接口】
接口名称 | API |
登录 API | http://127.0.0.1:8000/student/login |
登录页面
图1-1 登录页面
图1-2 首页
第2题:实现增加学生信息功能(12分)
【任务要求】
本任务需要实现如下功能,管理员登录之后,在首页选择“增加学生信息”选项以后,进入增加学生信息页面,管理员在页面添加信息后,提交给后端程序进行保存。
【任务描述】
- 登录学生信息管理网站(用户名:admin,密码:admin),登录页面如图1-1所示,进入首页。
2.观察首页布局,如图1-2所示,填补相应页面代码,实现当管理员选择“增加学生信息”选项时,进入“增加学生信息页面”(add.html)。将所需填空的命令和功能界面复制粘贴至对应报告中。
3.观察修改学生信息页面,如图1-3所示,填补add.html页面代码和后端程序代码,实现在添加完学生信息以后,点击“保存”按钮以后,把学生信息保存到数据库。将所需填空的命令和功能界面复制粘贴至对应报告中。
图1-3 增加学生信息页面
【工程代码】
从“Python开发实训/01工程代码/01 程序开发/01 工程代码”文件夹中获取程序开发项目工程代码。
【API接口】
接口名称 | API |
添加学生 API | http://127.0.0.1:8000/student/add |
第3题:实现修改学生信息功能(13分)
【任务要求】
本任务需要实现如下功能,管理员登录之后,在首页选择“修改学生信息”选项以后,进入修改学生信息页面,展示学生已有信息,管理员在页面修改信息后,提交给后端程序进行保存。
【任务描述】
- 登录学生信息管理网站(用户名:admin,密码:admin),登录页面如图1-1所示,进入首页。
- 观察首页布局,如图1-2所示,填补页面代码,实现当管理员选择“修改学生信息”选项时,进入“修改学生信息页面”(update_select.html)。将所需填空的命令和功能界面复制粘贴至对应报告中。
- 观察修改学生信息页面,填补页面代码和相应后端代码,实现在“修改学生信息页面”输入学生学号信息之后,点击“查询”按钮,展示学生信息供管理员进行修改。将所需填空的命令和功能界面复制粘贴至对应报告中。
- 观察修改学生信息页面,实现当管理员修改完学生信息,点击“编辑”操作选项后,把修改后的学生信息保存到数据库。将所需填空的命令和功能界面复制粘贴至对应报告中。
【工程代码】
从“Python开发实训/01工程代码/01 程序开发/01 工程代码”文件夹中获取程序开发项目工程代码。
【API接口】
接口名称 | API |
修改学生信息 API | http://127.0.0.1:8000/student/update_select |
面
图1-4 修改学生信息页面
第二部分:数据获取(20分)
第4题:利用爬虫抓取热门电影数据(6分)
【任务要求】
基于Python爬虫代码从指定电影网站抓取热门电影数据,爬取内容包括:电影名称,电影评分,电影图片。
【任务描述】
- 进入电影网站,热门电影页面(url为http://127.0.0.1/douban/)如图2-1所示,观察网页布局,使用浏览器阅读网页源码,分析所要爬取数据项的页面位置及关系,为编写数据爬取代码做准备。
图2-1 热门电影页面
- 从“Python开发实训/01工程代码/02 数据获取/04 工程代码”文件夹中获取程序开发项目工程代码。
- 按照代码中的任务点要求,补充Python爬虫代码,实现爬取首页“电影名称”、“电影图片”、“电影评分”,并分别保存至“/root/Desktop/home/movie/电影名称.txt”、 “/root/Desktop/home/movie/电影图片.txt”、 “/root/Desktop/home/movie/电影评分.txt”文件中。将所需填空的命令和运行结果复制粘贴至对应报告中。
第5题:利用爬虫抓取电影评论数据(14分)
【任务要求】
基于Python爬虫代码从指定电影网站抓取电影评论数据,爬取内容包括:评论作者、评论内容、评论评分、评论标题、评论日期、评论是否有用。
【任务描述】
- 进入电影网站,查看电影“扎克·施奈德版正义联盟”,进入电影详情页面(url为http://127.0.0.1/douban/35076714.html),如图2-2所示,点击查看该电影的评论详情(好评url为http://127.0.0.1/douban/comments_h.html、中评url为http://127.0.0.1/douban/comments_m.html、差评url为http://127.0.0.1/douban/comments_l.html),观察网页布局,使用浏览器阅读网页源码,分析所要爬取数据项的页面位置及关系,为编写数据爬取代码做准备。
图2-2 电影评论页面
- 从“Python开发实训/01工程代码/02 数据获取/05 工程代码”文件夹中获取程序开发项目工程代码。
- 按照代码中的任务点要求,补充Python爬虫代码,实现爬取每个电影的“评论作者”、“评论内容”、“评论评分”、“评论标题”、“评论日期”、“评论是否有用”,并保存至 “/root/Desktop/home/电影评论/电影评论.csv” 文件中。将所需填空的命令和运行结果复制粘贴至对应报告中。
第三部分:数据清洗(15分)
第6题:利用Pandas对电影数据进行清洗(15分)
【任务要求】
利用Pandas函数完成对电影数据进行清洗,包括数据缺失值处理、重复数据处理、异常值处理、数据类型转换。
【任务描述】
-
- 从“Python开发实训/01工程代码/03 数据清洗/06 工程代码”文件夹中获取程序开发项目工程代码。
- 按照代码中的任务点要求,补充Python数据清洗代码,实现如下数据清洗任务:
- 检查缺失数据项。
- 对缺失“评论评分”数据项进行均值插补。
- 对缺失“评论作者”数据项的那条记录进行删除。
- 对冗余数据记录进行删除。
- 对“评论评分”异常值进行中位数处理。
- 把清洗后的数据保存至 “/root/Desktop/home/数据清洗结果/数据清洗结果.txt” 文件中。将所需填空的命令和运行结果复制粘贴至对应报告中。
第四部分:数据处理(15分)
第7题:编写Python程序对电影评论数据进行处理。(5分)
【任务要求】
编写Python程序,去除电影评论中所有的标点符号。
【任务描述】
- 从“Python开发实训/01工程代码/04 数据处理/07 工程代码”文件夹中获取程序开发项目工程代码。
- 按照代码中的任务点要求,实现下列任务:
- 补充Python数据清洗代码,完成去除电影评论中所有标点符号的程序。
- 运行代码,去除给定数据记录中电影评论数据项中的标点符号。
- 把处理后的数据保存至本地磁盘 “/root/Desktop/home/数据处理结果/” 目录中。将所需填空的命令和运行结果复制粘贴至对应报告中。
第8题:编写Python程序,查找目录下的指定文件格式。(10分)
【任务要求】
编写一个Python程序,用户输入开始搜索的路径,查找该路径下(包含子文件夹内)所有的指定格式的文件,并创建一个文件用来存放所有找到的文件的路径。
【任务描述】
- 从“Python开发实训/01工程代码/04 数据处理/08 工程代码”文件夹中获取程序开发项目工程代码。
- 按照代码中的任务点要求,实现下列任务:
- 补充Python代码,用户输入开始搜索的路径,查找该路径下(包含子文件夹内)所有的word、pdf、txt格式文件,并创建一个文件(fileList.txt)存放所有找到的文件的路径。
- 运行代码,输入查找目录“Python开发实训/01工程代码/04 数据处理/”。
- 把运行结果文件保存至本地磁盘 “/root/Desktop/home/数据处理结果/fileList.txt”目录中。将所需填空的命令和运行结果复制粘贴至对应报告中。
第五部分:数据分析及可视化(15分)
第9题:编写Python程序,对电影评论数据进行数据分析并进行可视化展示。(15分)
【任务要求】
编写Python程序,使用numpy和pandas进行电影短评数据进行分析并进行可视化展示,并创建一个文件用来存放数据分析和可视化结果。
【任务描述】
- 从“Python开发实训/01工程代码/05 数据分析与可视化/09工程代码”文件夹中获取程序开发项目工程代码。
- 按照代码中的任务点要求,实现下列任务:
- 补充Python代码,分析电影上映后每天的评论数据走势,按天统计评论的个数,并且按照天进行排序,然后绘制柱状图。
- 补充Python代码,分析电影上映后每天的评分走势,统计每天评论的平均分,并且按照天进行排序,然后绘制折线图。
- 补充Python代码,分析每天评分的比例,并绘制饼图。
- 运行代码,并把运行结果文件保存至本地 “/root/Desktop/home/数据分析与可视化结果/”目录中。将所需填空的命令和运行结果复制粘贴至对应报告中。