20234114于家欢《实验四》
课程:《Python程序设计》
班级: 2341
姓名: 于家欢
学号:20234114
实验教师:王志强
实验日期:2025年5月27日
必修/选修: 公选课
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
课代表和各小组负责人收集作业(源代码、视频、综合实践报告)
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
例如:编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。
例如:利用公开数据集,开展图像分类、恶意软件检测等
例如:利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。
例如:爬取天气数据,实现自动化微信提醒
例如:利用爬虫,实现自动化下载网站视频、文件等。
例如:编写小游戏:坦克大战、贪吃蛇、扫雷等等
注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现。
本次结课大作业选择了编写爬虫的方向,用python程序实现从豆瓣电影网上爬取电影排行前100电影,这次是用了网络上的代码并且结合自己的更改来进行一个程序的爬取。
一、实验过程及结果
1.运用编程知识完成一个小游戏,我选择贪吃蛇:
2.大致思路和知识点:游戏循环、事件处理、列表操作等。
初始化:设置窗口大小、颜色、蛇的初始位置、食物的位置等。
游戏循环:不断地更新蛇的位置、检查用户输入、检测碰撞等。
渲染:根据蛇和食物的位置,绘制它们到屏幕上。
碰撞处理:如果蛇碰到了自己或墙壁,游戏结束。
食物处理:如果蛇吃到了食物,食物重新出现,蛇的长度增加。
二、游戏运行视频
三、实验中存在的问题和解决方案
问题描述:在不同开发环境或新项目中使用 pygame 时,出现库未安装或版本不兼容的报错。
解决方案:通过 Python 包管理工具pip重新安装 pygame 库,确保与当前 Python 版本匹配。
问题描述:蛇吃掉食物后无法正确增加长度,移动时长度未按预期保留。
解决方案:查阅资料后发现,蛇的长度控制需通过坐标列表管理实现:
当蛇头(new_head)与食物坐标重合时,不执行蛇尾删除操作(即不调用snake.pop()),直接将新蛇头坐标添加至列表。
正常移动时,每次向蛇头方向添加新坐标,并删除列表末尾坐标(保持长度不变)。
四、课程总结
这一学期的 Python 学习让我收获颇丰,从对编程零基础的 “技术小白” 逐渐掌握了实用的开发技能。作为文科生,起初对代码逻辑充满畏难情绪,但每一次实验中从频繁报错(满屏红色警告)到代码逐渐整洁运行的过程,让我真切感受到编程能力的提升。
在王老师的耐心指导下,我逐步克服了对编程的恐惧,从基础语法到综合项目开发,逐渐体会到 Python 在数据处理、自动化任务等场景中的强大价值。尽管目前仍有许多知识一知半解,但 Python 的灵活性和实用性激发了我深入学习的兴趣 —— 原来文科生也能通过代码实现创意,用技术优化生活与工作。
“万事开头难”,编程之路虽充满挑战,但每一次攻克难题后的成就感都让我更加坚定。未来我会继续探索 Python 在办公自动化、数据可视化等领域的应用,努力在技术学习中实现文科思维与逻辑思维的融合。
课程建议:若能增加课堂互动环节(如学生作品展示、小组编程挑战等),或许能让学习过程更生动有趣,也便于同学们互相借鉴、激发灵感。
最后,衷心感谢王老师一学期的悉心教导!您的鼓励和指导是我坚持学习的重要动力,期待未来能在编程之路上继续探索前行!