20254202实验四《Python程序设计》报告
20254202 2025-2026-2 《Python程序设计》实验4报告
课程:《Python程序设计》
班级: 2542
姓名: 王一婷
学号:20254202
实验教师:王志强
实验日期:2026年5月30日
必修/选修: 专选课
一、实验内容
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
例如:编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。
例如:利用公开数据集,开展图像分类、恶意软件检测等
例如:利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。
例如:爬取天气数据,实现自动化微信提醒
例如:利用爬虫,实现自动化下载网站视频、文件等。
例如:编写小游戏:坦克大战、贪吃蛇、扫雷等等
注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现。
评分标准:
(1)程序能运行,功能丰富(至少5个功能)。(需求提交源代码,并建议录制程序运行的视频)
(2)综合实践报告,要体现实验分析、设计、实现过程、结果等信息,格式规范,逻辑清晰,结构合理。
(3)在实践报告中,需要对全课进行总结,并写课程感想体会、意见和建议等。
二、实验过程
(一)确定实验主题:完成一个贪吃蛇小游戏的运行,在搜索过后我决定仿照最简单的像素贪吃蛇游戏进行实验

在这个代码中,我希望实现
1.键盘控制贪吃蛇方向。
2.开始界面有弹窗,有任意键开始游戏,结束界面有退出和重新开始的选项。
3.贪吃蛇可以通过吃到食物生长,食物会随机产生且不会与贪吃蛇身体重合
4.系统实时显示得分,同时会有最高分记录
5.贪吃蛇碰到自身或者碰到墙壁就会死亡
6.有中文字库,不出现乱码,运行流畅
(二)打开pycharm,安装pygame库

(三)进行编写:
①首先,导入图形界面、随机数、文件操作模块并定义窗口大小、格子尺寸、移动延时和最高分保存文件名。

②初始化:创建主窗口、画布,添加底部框架和得分、最高分标签。加载历史最高分,绘制开场画面。初始化游戏状态变量、蛇身列表、方向、食物、分数。

③读写最高分,让最高分可以实时刷新

④设计开场画面和中文排版

⑤开始新游戏并随即生成食物,让蛇长达到总格子数就胜利,否则食物将生成在空白的地方。

⑥处理键盘,让键盘中的上下左右键能控制贪吃蛇移动,同时设置开场和结束

⑦编写主循环,根据方向计算贪吃蛇新坐标,并且增加死亡判定和生长判定,同时更新最高分


⑧绘制食物和蛇的颜色,食物我为了仿照最原始的苹果改成了红色,蛇头设计成浅绿色更明显,蛇身深绿色

⑨设计失败和胜利所对应的显示

源代码如下:






三、实验结果
(一)运行过程
运行后开始页面,点击任意键就可以开始游戏

进入游戏后操纵贪吃蛇吃食物,贪吃蛇可以不断生长

游戏结束后显示这个页面,可以自行选择重开或退出

(二)运行视频
四、课程总结
本学期系统学习了Python程序设计,有以下几个要点
- Python简介:跨平台、高级语言、动态类型
- 基础语法:注释(#与""")、保留字、数据类型(整型、浮点型、字符串、布尔)、运算符(算术、比较、逻辑)、input()/print()输入输出。
- 流程控制:if-elif-else分支,for/while循环,break、continue、pass。
- 序列与容器:列表(可变,sort()直接修改,sorted()返回新副本)、元组(不可变)、字典(键值对)、集合(无序不重复)、切片 。
- 字符串与正则:创建、索引、切片、常用方法(split、join等)、f-string格式化输出,正则基础如手机号匹配。
- 函数:def定义,参数类型(位置、关键字、默认、*args、**kwargs),返回值,形参与实参的关系。
- 面向对象:类与对象,__init__构造方法,self,封装、继承、多态三要素,模块与包的导入管理。
- 异常处理:try-except-else-finally,常见异常类型(ValueError、FileNotFoundError等),调试方法。
- 文件与目录:冯·诺依曼体系(内存与外存),open/read/write/close,with语句,os模块操作目录。
- 数据库与爬虫:数据库基本增删改查;爬虫概念、基本流程(请求→解析)
五、课程感想与建议
很荣幸跟着志强老师上了一个学期的python课,这是一个很新奇的体验。和我高中为了会考应付的编程相比,本学期的学习令我受益匪浅。最初我害怕学不会,不想学,而现在我对于编程产生了浓厚兴趣。,其中多亏了志强老师孜孜不倦的指导。
我感受到python是一个很神奇的东西,用不同的字母和数字就可以在电脑上创造出许多东西,例如实验三中让我们两两通信,我曾经没有想过可以通过一串串代码就让两个人在电脑前互发消息,当我和同伴历经艰辛终于连接上的时候,我们十分激动。内心中也燃起了对于编程学习的浓浓热爱。尽管有很多时候自己会遇到问题,明明代码一样却总报错,无法理解为什么这么敲代码。但是,每当我完成一个实验,浓浓的自豪感便油然而生。
我很高兴能和大家一起参与python的课堂,也很高兴自己能在志强老师指导下不断的提升自己的编程能力和英语水平(真的认识了很多自己不认识的单词)。这一学期,我收获满满
课堂建议上我认为没什么太大的建议,老师做得很好,讲的很风趣幽默,平时分上也很为我们着想。师恩藏代码,教诲如清风。希望老师万事顺遂,喜乐常伴!
参考文献
[1]《Python完全自学教程》[https://www.ptpress.com.cn]

浙公网安备 33010602011771号