20254225 实验一《Python程序设计》实验1报告
20254225 2025-2026-2 《Python程序设计》实验1报告
课程:《Python程序设计》
班级: 2542
姓名: 侯九州
学号:20254225
实验教师:王志强
实验日期:2026年3月24日
必修/选修: 专业选修课
1.实验内容
本次实验围绕Python基础开发技能展开,涵盖环境熟悉、调试练习、编程实践、LLM辅助开发及Git托管,具体内容如下:
-
熟悉Python开发环境:了解并掌握PyCharm、IDLE、VIM(华为ECS服务器OpenOuler系统)等开发工具的各项功能,熟悉不同环境的操作逻辑。
-
练习Python运行、调试技能:编写教材中的示例程序,在多种环境(物理机Windows系统、华为ECS服务器OpenOuler系统)中,使用PDB、PyCharm调试工具进行调试分析,记录完整运行和调试过程,留存相关截图。
-
基础编程练习:运用Python变量和类型、字符串、对象、缩进和注释等基础语法,编写一个猜数字游戏程序,实现核心功能并优化交互体验。
-
LLM辅助开发:利用LLM生成猜数字游戏程序,运行该程序并留存截图;将LLM生成的代码与自己编写的代码进行对比,分析LLM生成代码的至少3个优点。
-
Git技能掌握:将本次实验编写的所有代码托管到Gitee平台,记录完整的托管过程和结果,并在报告中附上Gitee仓库的Markdown格式链接。
-
多环境演示:在华为ECS服务器(OpenOuler系统)和物理机(Windows系统)上,分别使用VIM、PDB、IDLE、PyCharm等工具,演示Python代码的编辑、开发和调试过程。
2. 实验过程及结果
2.1 熟悉Python开发环境
本次实验涉及4种核心开发环境,分别熟悉其功能并完成基础操作,具体如下:
-
PyCharm(Windows物理机):熟悉项目创建、代码编辑、运行按钮、调试工具、终端窗口等功能,可快速创建Python文件、设置解释器、查看代码提示和错误提醒。
-
IDLE(Windows物理机):掌握交互式命令行模式和脚本编辑模式的切换,学会通过IDLE编写、保存和运行Python脚本,熟悉基础的编辑和运行操作。
-
VIM(华为ECS服务器OpenOuler系统):通过远程连接服务器,学会VIM的基本操作(打开、编辑、保存、退出文件),配置基础编辑环境,用于在Linux系统中编写Python代码。
-
PDB(华为ECS服务器OpenOuler系统):熟悉Python调试器PDB的基本命令(设置断点、运行、单步执行、查看变量),用于在Linux环境中调试Python程序。
结果:成功掌握上述4种开发环境的核心功能,能够熟练切换环境并完成基础的代码编辑操作。

2.2 Python运行、调试技能练习
-
运行练习:选取教材中的3个基础示例程序(变量运算、字符串操作、条件判断),分别在PyCharm、IDLE、VIM三种环境中运行,均成功输出正确结果,留存运行截图(截图附于实验报告博客中,此处说明截图内容:如PyCharm中运行变量运算程序的界面、VIM中运行字符串程序的终端输出)。
-
调试练习:以教材中的循环示例程序为例,分别使用PyCharm调试工具和PDB调试工具进行调试:
(1)PyCharm调试:在代码关键行设置断点,点击调试按钮,逐步单步执行,查看变量值的变化,排查代码中的逻辑错误,调试完成后成功运行程序,留存调试截图(包含断点设置、调试界面、变量查看窗口)。
(2)PDB调试:在服务器终端中通过“python -m pdb 文件名.py”启动调试,使用b命令设置断点、n命令单步执行、p命令查看变量,成功调试并运行程序,留存终端调试截图。
结果:熟练掌握Python程序的运行方法,能够使用PyCharm和PDB两种工具完成调试操作,准确排查并解决代码中的基础错误。

2.3 猜数字游戏编写
运用Python基础语法,编写猜数字游戏程序,核心功能如下:程序自动生成1-100之间的随机数,接收用户输入的猜测值,给出“猜大了”“猜小了”的提示,统计猜测次数,处理非数字输入异常,添加友好的交互提示。
-
运行结果:将LLM生成的代码复制到PyCharm中运行,程序正常执行,功能完整,留存运行截图(与自己编写的程序运行截图格式一致,体现交互流程)。
-
LLM生成代码的优点分析(不少于3个):
(1)代码结构更规范:LLM生成的代码使用了函数封装(guess_number_game函数),将游戏逻辑模块化,便于后续修改和复用,而自己编写的代码未进行函数封装,逻辑相对零散。
(2)交互体验更完善:LLM生成的代码添加了边界值判断(判断输入是否在1-100之间),还设计了分隔线、规则提示,错误提示更直观(使用表情符号),而自己编写的代码未考虑边界值,提示相对简洁。
(3)代码可读性更强:LLM生成的代码注释清晰,变量命名更规范(如target_number、guess_times),逻辑层次分明,缩进一致,而自己编写的代码注释较少,变量命名相对简单。
(4)异常处理更细致:LLM生成的代码在捕获非数字输入异常的同时,还对输入的数字范围进行校验,避免用户输入超出1-100的数字,容错性更强。


2.5 Git技能及代码托管(Gitee)
- 托管过程:
(1)注册并登录Gitee账号,创建新仓库,仓库名称为“Python-Experiment1”,设置为公开仓库,添加仓库描述“2025-2026-2 Python程序设计实验1代码托管”。
(2)在Windows物理机上安装Git,配置用户信息(git config --global user.name "用户名"、git config --global user.email "邮箱")。
(3)在本地创建实验文件夹,将自己编写的猜数字游戏代码、LLM生成的代码、教材示例程序代码保存到该文件夹中。
(4)打开Git Bash,进入本地实验文件夹,执行“git init”初始化本地仓库,执行“git add .”将所有代码文件添加到暂存区,执行“git commit -m "Python实验1代码:猜数字游戏及教材示例程序"”提交到本地仓库。
(5)复制Gitee仓库的HTTPS链接,执行“git remote add origin 仓库链接”关联本地仓库和Gitee远程仓库,执行“git push -u origin master”将本地代码推送到Gitee远程仓库。
- 托管结果:所有实验代码均成功托管到Gitee仓库,仓库结构清晰,可正常查看、下载代码,留存托管过程截图(仓库创建、Git命令执行、代码推送结果、仓库最终界面)。
![git个人仓库]()
![PyCharm连接仓库保存管理数据]()
2.6 LLM生成程序代码并运行
在人工智能系统中尝试编写并试运行程序


结果:成功在多环境中完成代码编辑、开发和调试演示,熟练掌握不同工具的使用方法。
3. 实验过程中遇到的问题和解决过程
-
问题1:远程连接华为ECS服务器时,无法使用VIM编辑Python文件,出现乱码且无法保存。
-
问题1解决方案:排查发现是服务器编码设置问题,通过“export LC_ALL=en_US.UTF-8”命令设置编码格式,重启VIM后,乱码问题解决;同时学习VIM基本操作(i进入编辑模式、ESC退出编辑模式、:wq保存退出),成功完成代码编辑。
-
问题2:使用Git推送代码到Gitee时,出现“fatal: Could not read from remote repository”错误,无法推送。
-
问题2解决方案:检查发现是本地仓库与Gitee远程仓库关联错误,重新复制Gitee仓库的HTTPS链接,执行“git remote rm origin”删除错误关联,再重新执行“git remote add origin 仓库链接”,关联成功后,重新推送代码,问题解决。
-
问题3:调试程序时,PyCharm断点设置后不生效,无法正常单步执行。
-
问题3解决方案:查看发现是PyCharm的解释器设置错误,未选择本地Python解释器,重新进入设置,配置正确的Python解释器,重启调试功能后,断点生效,可正常调试。
-
问题4:LLM生成的代码运行时,出现“indentation error”缩进错误。
-
问题4解决方案:排查发现是复制代码时,缩进格式错乱,Python对缩进要求严格,通过PyCharm的“自动缩进”功能,调整代码缩进,确保同一逻辑层次的代码缩进一致,重新运行后,错误解决。
-
问题5:自己编写的猜数字游戏,用户输入非数字时,程序直接崩溃。
-
问题5解决方案:查阅资料了解到try-except异常处理结构,在用户输入和类型转换代码外添加try-except ValueError语句,捕获非数字输入异常,输出友好提示,确保程序正常运行。
4. 其他(感悟、思考等)
本次实验是Python程序设计的第一次实践,涵盖了开发环境、调试、编程、LLM辅助开发和Git托管等多个方面,让我收获颇丰,也有很多深刻的感悟和思考。
首先,我深刻认识到“实践出真知”的重要性。课堂上学习的Python基础语法,看似简单,但实际编写程序时,总会遇到各种问题,比如缩进错误、异常处理遗漏、逻辑不清晰等。通过本次实验,我将理论知识转化为实际操作,熟练掌握了不同开发环境的使用方法,学会了调试技巧,也明白了编程的严谨性——每一个细节都可能影响程序的正常运行,必须认真对待、逐行检查。
其次,LLM辅助开发让我感受到了人工智能在编程中的优势,它生成的代码结构规范、交互完善、可读性强,不仅节省了开发时间,还为我提供了更好的编程思路,比如函数封装、边界值判断等,让我意识到自己在代码规范性和细节处理上的不足,也学会了借鉴优秀代码的优点,提升自己的编程能力。
另外,Git托管技能的学习,让我明白了代码版本管理的重要性,学会了将代码托管到远程仓库,不仅便于代码的保存和管理,也为后续的团队协作打下了基础。同时,多环境演示的要求,让我熟悉了不同系统(Windows、Linux)下的Python开发流程,拓宽了自己的操作视野。
本次实验也让我认识到自己的不足:代码编写不够规范、异常处理不够细致、对Linux环境下的开发工具使用不够熟练。在今后的学习中,我会加强基础练习,注重代码规范性,多尝试在不同环境下开发程序,同时合理利用LLM辅助学习,积累编程经验,培养严谨的编程思维,努力提升自己的Python编程能力。
5. 参考资料
1.[《程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
2.[《程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)



浙公网安备 33010602011771号