20254303 刘鑫 《Python程序设计》实验四报告

20254303 2025-2026-2 《Python程序设计》实验四报告
课程:《Python程序设计》
班级: 2543
姓名: 刘鑫
学号:20254303
实验教师:王志强
实验日期:2026年5月25日
必修/选修: 公选课

1.实验内容
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
课代表和各小组负责人收集作业(源代码、视频、综合实践报告)

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
例如:编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。
例如:利用公开数据集,开展图像分类、恶意软件检测等
例如:利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。
例如:爬取天气数据,实现自动化微信提醒
例如:利用爬虫,实现自动化下载网站视频、文件等。
例如:编写小游戏:坦克大战、贪吃蛇、扫雷等等
注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

  1. 实验过程及结果

一.环境准备

在终端输入:pip install pygame-ce

ce1ba3eb4e2fcaf3445202919df48815

二.设计代码

(1)整体框架
开发平台:PyCharm
开发技术:Python + Pygame

(2)程序整体结构
1.全局参数、颜色、游戏配置定义

2.main() 主函数:游戏初始化、流程调度

3.init_game():游戏板初始化、随机布雷

4.draw_board():绘制游戏界面(格子、数字、旗子、地雷)

5.绘图函数:绘制网格、数字、旗子、地雷

6.逻辑判断函数:空白展开、胜利判定、坐标获取

7.结束重置函数、程序退出函数

(3)具体程序

1.main主函数 - 程序入口初始化

1

2

2.init_game() - 初始化游戏板与布雷

3

  1. draw_board() - 绘制游戏界面

4

5

  1. reveal_blank() - 自动展开空白区域

6

  1. check_win() - 胜利判定

7

  1. get_cell() - 获取点击的格子坐标

8

三.游戏玩法
(1)游戏目标
找出所有不是地雷的格子

(2)操作方法
鼠标左键点击揭开格子

0b4217d3711f5998ce7fa49064775ec3

鼠标右键点击打叉号标记地雷

d8e53067b7f6990afde19882076addf7

(3)成功
揭开所有不是地雷的格子 显示You Win 胜利

de333003d37c7b7be99efd9f51701a16

(4)失败
左键点到地雷 显示Game Over 失败

4271e6e630650581960d3f3471d8b7d6

  1. 实验过程中遇到的问题和解决过程
    问题1:安装pygame时出现安装失败,提示“Getting requirements to build wheel did not run successfully”

问题1解决方案:由于Python 3.14版本过新,官方pygame尚未适配,改用pygame-ce替代,执行pip install pygame-ce命令,成功安装后即可正常导入使用。

问题2:运行代码时出现pygame.error: 字体文件找不到,提示“No font 'simhei' found”

问题2解决方案:将字体设置从pygame.font.SysFont("simhei", 20)改为pygame.font.Font(None, 24),使用pygame默认字体,无需依赖系统字体文件,彻底解决字体报错问题。

问题3:截取扫雷成功的图时总是失败

问题3解决方案:扫了半个小时雷,终于成功

4.操作视频
点击观看扫雷游戏演示视频

5.其他(感悟、思考等)
本次基于Python和Pygame的扫雷小游戏开发,让我对图形化编程有了更直观的理解。扫雷游戏虽然看起来简单,但涉及二维数组操作、随机布雷、数字计算、鼠标事件处理等知识点,把这些功能一个个实现出来,很有成就感。
开发过程中遇到的问题不少,比如Python版本太新导致pygame装不上,字体设置报错,空白区域展开时卡顿等。这些问题让我学会了查资料、试错、找替代方案,也明白了编程不只是写代码,解决问题同样重要。
最后的扫雷环节锻炼了我的思考能力。

6.课程总结
通过Python课程学习,在王志强老师的教导下,我从零开始掌握了Python编程的基础知识。相比C++,Python语法更简单,写起来更快,第三方库也特别多,做什么都能找到现成的工具。

课程内容从基础语法到网络编程、爬虫、游戏开发,一步步深入,让我对编程有了更完整的认识。以前写代码只会照着书敲,现在学会了遇到问题先分析、再查资料、最后自己动手解决。

实践环节我做了计算器,图书管理系统,剪刀石头布,扫雷游戏等程序,从搭框架到调细节,整个过程锻炼了我的逻辑思维和动手能力。虽然过程中遇到不少报错,但每次解决后都学到新东西,印象也更深刻。

总的来说,这门课很有意思,动手机会多,学完真的能自己写点东西出来。感谢老师的耐心指导。

建议:
1.刚开始下载pcharm与托管代码到gitte花了好长时间才弄好,建议出个视频指导
2.部分代码难度较高,有点跟不上,建议讲慢一点

参考资料
《Java程序设计与数据结构教程(第二版)》

《Java程序设计与数据结构教程(第二版)》学习指导

...

posted @ 2026-05-25 21:06  20254303刘鑫  阅读(69)  评论(0)    收藏  举报