当前位置: 首页 > news >正文

20254108 2025-2026-2 《Python程序设计》实验4报告

课程:《Python程序设计》
班级: 2541
姓名: 董十思
学号:254108
实验教师:王志强
实验日期:2026年5月26日
必修/选修: 专选课

一、实验内容
(一)实验内容
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
例如:编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。
例如:利用公开数据集,开展图像分类、恶意软件检测等
例如:利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。
例如:爬取天气数据,实现自动化微信提醒
例如:利用爬虫,实现自动化下载网站视频、文件等。
例如:编写小游戏:坦克大战、贪吃蛇、扫雷等等
注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现
(二)实验要求
(1)程序能运行,功能丰富(至少5个功能)。(需求提交源代码,并建议录制程序运行的视频)
(2)综合实践报告,要体现实验分析、设计、实现过程、结果等信息,格式规范,逻辑清晰,结构合理。
(3)在实践报告中,需要对全课进行总结,并写课程感想体会、意见和建议等。

二、实验过程及结果
(一)前言:《实在不行就放手吧》
“世上无难事,只要肯放弃!”

我最初计划开发一款天气提醒程序,初衷是实现每日自动推送天气信息的功能。
项目初期进展顺利,我按指引注册和风天气开发者账号,创建项目并获取了API密钥,很快完成了基础代码编写,首次运行时也成功获取到了天气数据。但这份顺利没能持续,后续程序就频繁报错,控制台反复提示请求失败,城市ID接口调用始终无法稳定运行。
我先是核对了密钥、需付费的API是否选中、是否剩余额度这些,确认无误后,又多次更换 API 密钥重新配置,依然没有成功。我知道,问题可能出在权限配置上,于是反复调整,尝试关闭限制、修改绑定规则,来回调试了多次,可问题始终没有解决。
6f2737021bc4f5937b55bb3033790265
615b6de2becbea8c40aeea8c42cd0528

值得注意的是,我中途成功了一次,但是当我准备录视频再次运行的时候又不行了,我在宿舍里跳啊叫啊像无能的原始人。
aae1215533d7223fdc99e3859fbbc1c4

这个天气预报的实验真的花了我很多很多时间😭😭😭😭😭😭😭😭有没有懂的()
但是最终,我放弃了继续排查天气程序的问题,转而开发了打地鼠游戏。

(二)正文:《新的篇章》
1.环境配置:
要想实现小游戏的运行,先需要安装pygame。
cecb63e8b4120632ef69aa3d8bb4d34c

2.程序设计:
由于代码比较长,下面主要展示部分关键步骤的模块逻辑段~

6d7b37bc-9884-41f2-b547-2822f2a47cd3
首先,进行初始化Pygame引擎,创建900×700像素的游戏窗口,设置时钟对象用于控制游戏帧率。

image
地鼠生成与更新规则:在空洞口按概率生成地鼠。生成概率随等级提升而增加(最高3%),等级越高的地鼠消失越快。

8ffc0bb2-85d0-4560-8612-a77219378c6e
击中判定模块:检测鼠标点击是否击中地鼠。击中后计算得分:基础10分+等级加成+连击加成(最高50分)。
连击特效触发:我设定了当连击数达到5次时,生成20个紫色粒子并触发屏幕闪光效果。

c7613565-abae-4f24-89ca-f58aecacaf0d
计分模式与历史得分记录板块。

1a27fd39d91b3b343201d778aabccfbd
等级升级:分数达到关卡目标时等级+1,生成50个金色粒子烟花,触发屏幕闪光。

0542891b-0495-4c9f-83e1-9b7649578ebd
游戏结束判定:失误次数达到8次时游戏结束,保存本次成绩到历史记录。

3.五项功能介绍:
①计分系统
游戏采用动态计分机制,玩家每次成功击中地鼠时获得分数。计分公式综合考虑基础分10分、地鼠等级加成和连击数加成。地鼠等级越高得分越多,连击数越高得分加成越大,最高可额外获得50分。得分实时显示在屏幕左上角。
②连击系统
玩家每成功击中一次地鼠,连击数增加1;若打空或地鼠自行消失,连击数归零。连击数达到3次及以上时,屏幕中央显示紫色连击文字;达到5次及以上时触发额外粒子特效和屏幕闪光。连击数越高,单次击中的得分加成越高。
③等级关卡系统
每关目标分数为100加等级减1乘以50,即第1关100分、第2关150分,依此类推。玩家分数达到目标后自动升级,触发全屏闪光和金色粒子烟花特效。等级提升后,地鼠出现频率加快、消失速度变快,游戏难度逐步增加。当前关卡和目标准确显示在左上角得分下方。
④历史成绩记录系统
所有成绩记录以JSON格式保存在本地文件中,包含得分、到达关卡、最高连击数和游戏时间。系统自动按得分从高到低排序,仅保留前10条最高记录。游戏进行时历史最高分显示在屏幕右上角,游戏结束时展示前三名记录。
⑤粒子特效系统
击中地鼠时触发橙色和黄色粒子爆炸效果;连击达到5次时追加紫色粒子并伴有屏幕闪光;关卡提升时产生金色粒子烟花;地鼠出现时洞口伴有金色光环闪烁。所有粒子受重力影响,逐渐缩小并淡出消失。

4.运行视频:
【d0000000000s的 Python实验四运行视频-哔哩哔哩】 https://b23.tv/CyzgWCp

5.优缺点分析:
(一)优点:
① 代码结构清晰,便于维护和扩展。
② 游戏机制完整,具备完整的游戏闭环体验。
③ 难度曲线合理,形成渐进式挑战,保持游戏可玩性。
④ 视觉反馈丰富,击中粒子、屏幕闪光、连击文字、升级烟花等特效增强了打击感和成就感。
⑤ 数据持久化存储,激励玩家反复挑战自我。

(二)缺点:
① 缺乏初始设置界面,无法在游戏开始前调整难度、音效、控制方式等参数。
② 不支持自定义元素,玩家不能选择地鼠样式、锤子样式或给地鼠命名,个性化程度较低。
③ 游戏模式单一,只有经典模式,重复可玩性受限。
④ 缺少音效系统,击中、升级、游戏结束等关键事件没有配套音效,沉浸感不足。
⑤ 画面相对简单,虽然满足基本需求,但在美术资源上仍有提升空间。

三、实验过程中遇到的问题和解决过程
1.生成的代码无法运行,显示没有安装pygame。
解决方式:让deepseek给出安装代码,win+r打开CMD后复制进去,进行安装。
2.击打地鼠后没有反馈,影响判断和游戏节奏、体验感!
解决方式:增加击打特效的专门代码,通过闪光提示击打成功。
3.原始界面画面太粗糙,洞口没对齐,色彩单一干扰判断
解决方式:加入更多色彩,做到清晰美观。

四、实验感悟与课程总结
1.实验感悟:
这次实验的经历,说起来有点五味杂陈。
最开始做天气系统的时候,我还算有点信心。注册和风天气账号、拿到API密钥、写完基础代码,我甚至觉得这个实验马上就要做完了。
但那种顺利就像烟花一样,接下来就是没完没了的404、403,控制台的报错信息反复出现,我怎么改都不对。
我做了所有能想到的尝试。核对密钥、检查额度、更换API密钥、调整控制台的权限……来回折腾了不知道多少遍。
中途确实成功过一次,那一刻我在宿舍里跳了起来,像原始人一样欢呼。
但当我准备录视频交作业的时候,它又不行了。那种感觉真的很难形容,你知道它曾经能跑,你知道你的代码没问题,但你不知道为什么它现在不肯工作了。就像刚抱在怀里的孩子突然丢了一般无助😭🚼🐴🐴
这个天气预报的实验消耗了我大量的时间和精力,最终我只能承认,有些问题在当前的时间和技术储备下是解决不了的。再三考虑之后,我忍痛放弃了天气系统,转而去做打地鼠游戏。放弃沉没成本的感觉不太好受,但我知道不能再耗下去了。
做打地鼠游戏的过程相对顺利一些。刚开始确实遇到了Pygame没安装、代码跑不起来的问题,但这些都是可以解决的,真正让我花心思的是游戏体验的打磨。最终也是凭借耐心在deepseek老师的引导下用一下午时间完成了游戏程序设计与完善。
回想整个实验,天气系统的失败让我明白了及时止损,把时间和精力用在更有希望的事情上()打地鼠游戏的完成则让我重新找回了信心,那种一行一行代码跑通、一个bug一个bug解决掉的感觉,踏实多了。
2.课程总结:
回头看看这一学期和Python打交道的日子,心里还挺复杂的。
先说AI叭,这个让人又爱又恨的玩意儿。不得不承认现在的工具确实很强,但它需要你用思考去喂养。想得到一个好结果,你得先想清楚自己要什么,然后一遍遍调试。我想,在这个人心浮躁的智能时代,我们需要静下心来,自己始终握着方向盘,去驾驭AI工具;要敏锐慎思,维持critical thinking,不要对AI言听计从!!!
强哥课堂上的收获出乎意料。那些奇怪又莫名好记的知识点现在还飘在脑子里,比如除零错误的英文写法,比如int、float、eval的区别,还有老师那句“v我50”。更离谱的是,我不光学到了知识,还真的在某个周四跑去吃了KFC。知识的泉水灌进去了,现实的炸鸡也吃上了,美哉美哉。
实验课也教会我细节决定成败的真谛,细细一想,踩过最大的坑就是细节。IP地址手动改错一个数字、防火墙忘了关、某个参数的大小写出了差错,就会让“积极拒绝”四个字像幽灵一样反复出现,每次看到那行报错都会红温。但回过头想,正是这些细小的失误让我记住了马虎的代价。
新学一门语言是比较痛苦的,但人生需要新鲜感。这门课让我学会了耐心,也让我体会到了创造的快乐。
我也切身体会到,Python之所以能成为当今最受欢迎的编程语言之一,靠的绝不仅仅是语法简洁、上手容易,而是它背后的生态帝国。requests调用的几行代码,就能从云端抓取全球各地的实时天气数据;pygame导入只要数十行逻辑,就能让屏幕上的地鼠冒头挨打。从信息获取到图形交互,从数据推送到游戏开发,Python用极低的成本完成了从想法到成品的跃迁。Python把复杂的事情拆解成简单的模块,把看似海量的信息简化成一个个“库”————BTW我觉得这真的挺酷的。如果说代码是砖块,那Python的生态就是一座已经烧制好的砖厂,作为用户要做的只是设计和搭建。这份自由与高效,是它送给每个开发者最慷慨的礼物。

最后致最好的强哥:感觉强哥挺喜欢我的,有的时候上课听的不那么认真也有点不好意思,不过不管怎么样对python的兴趣已经培养起来了!
范仲淹有言:“云山苍苍,江水泱泱,先生之风,山高水长。”志强老师我见过为数不多能力过硬、性格亲和、能和同学打成一片的好老师,我愿以此作结!

参考资料
学习通《零基础学Python》教材

http://www.gsyq.cn/news/1526844.html

相关文章:

  • 2026年6月专业的长春奥迪Q5L隐形车衣门店找哪家推荐,TPU漆面保护膜、全车改色膜、太阳隔热膜选择指南 - 海棠依旧大
  • 2026 北京管道疏通与异味治理机构精选 5 家 马桶 / 厨卫下水 / 地漏除臭服务参考 - 宅安选房屋修缮
  • 5步打造专属AI伙伴:SillyTavern角色卡片终极实用指南
  • 鸿蒙原生应用从0到1:项目搭建与首页开发实战
  • GSV5800@ACP#Serdes 高速延长芯片,物理 AI 分布式显示的传输骨干
  • 2026年西北地区消防水箱与生活水箱供应商综合评估:从技术实力到项目案例的全景分析 - 优质品牌商家
  • 2026年CPE硫化剂厂家选型参考:技术参数、应用场景与主流供应商分析 - 优质品牌商家
  • 如何让老款Mac运行最新macOS?OpenCore Legacy Patcher完整指南
  • GY001-WiFiBLE+4G转CAN总线或RS485中高速通信 - 4G通信CAN数据发送到UDP, GPS上传数据, 4G转CAN总线的1毫秒一帧通信测试,实际做到了微秒级速率
  • 2026年镀锌铁皮架空保温钢管厂家怎么选?四川、西藏、贵州市场深度分析与真实案例参考 - 优质品牌商家
  • trace.moe:如何用AI瞬间定位任意动漫场景
  • 企业加密软件排行榜,6款企业透明加密软件分享,亲测推荐
  • 计算机Java毕设实战-基于 SpringBoot 框架的高校校园信息交互系统的设计与实现 面向师生的校园信息共享服务系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 2026年6月专业的石家庄三角钢琴搬运公司口碑推荐:立式钢琴、三角钢琴、自动演奏钢琴搬运选择指南 - 海棠依旧大
  • 制冷高效商用冷柜批发厂家排行:全场景选型参考 - 互联网科技品牌测评
  • 2026年溶液调湿空调厂家电话汇总:技术路线与工程案例深度评测 - 优质品牌商家
  • 2026年佛山专利申请与无效律师推荐指南:从家电到灯饰全覆盖 - 本地品牌推荐
  • 3个核心策略:将Obsidian笔记库转化为智能数据系统
  • 2026 深圳管道疏通与异味治理机构精选 5 家 马桶 / 厨卫下水 / 地漏除臭服务参考 - 宅安选房屋修缮
  • 2026 上饶空调维修 线路老化排查 家电上门抢修 口碑机构推荐 - 金修达家庭维修
  • 2026成都店铺装修口碑推荐:商业空间设计施工机构综合评估 - 优质品牌商家
  • 2026年6月正规的河南脱粉机厂家有哪些推荐,细粉分级机/干式分级机/干式风选机厂家选择指南 - 海棠依旧大
  • 生成器generator:yield、生成器表达式、内存节省原理
  • 3分钟搞定浏览器资源嗅探:猫抓Cat-Catch让你的在线资源触手可及
  • 认准正规老字号!古籍拓片变现如何从源头杜绝仿冒套路、安心交易 - 深鉴新闻
  • 2026年6月市面上单级反渗透纯水设备厂家哪家靠谱推荐:工业净水系统、反渗透设备、纯水机、去离子水设备公司选择指南 - 海棠依旧大
  • OmenSuperHub:开源免费的惠普游戏本终极性能控制工具
  • 深耕东莞环保产业|武科环保打造研发 - 设计 - 施工 - 运维全链条一体化绿色治理标杆 - 广东科技观察
  • MPC8533E勘误文档深度解析:寄存器级编程避坑与实战指南
  • 沧州空调应急维修、线路故障排查,家电维修甄选指南2026年6月最新 - 金修达家庭维修