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

20243105 2024-2025-2 《Python程序设计》实验一报告

20243105 2024-2025-2 《Python程序设计》实验一报告

项目 内容
课程 《Python程序设计》
班级 2431
姓名 代雨航
学号 20243105
实验教师 王志强
实验日期 2026年3月23日
必修/选修 公选课

1. 实验内容

  1. 熟悉Python开发环境
    介绍Python开发环境的各项功能。

  2. 练习Python运行、调试技能
    编写书中的程序,并进行调试分析,要有过程(运行需要截图、调试需要截图)。

  3. 编写程序,练习变量和类型、字符串、对象、缩进和注释等
    编写一个猜数字的游戏。

  4. 利用LLM生成猜数字的游戏
    运行并给出相应的截图。
    对比你写的Python程序,分析LLM生成代码的优点,至少写3个。

  5. 掌握git技能
    需要把编写的代码托管到Gitee上,给出托管过程和结果,并在此放上链接(Markdown格式)。

2. 实验过程及结果

2.1 调试过程(以每次用户输入为断点)

在 PyCharm 中设置断点,调试运行程序。当程序运行到 input() 语句时,会暂停,此时可以查看变量状态,并逐步执行观察输入对变量的影响。

截图1:调试过程
这里能直接“开挂”看到我们要猜的结果
image

2.2 运行过程

正常运行猜数字游戏,输入难度和猜测数字,程序给出相应提示,直至猜中。

截图2:运行过程
image

2.3 LLM生成代码及运行对比

2.3.1 我编写的猜数字游戏代码

image

2.3.2 LLM生成的猜数字游戏代码

image
image
image

2.3.3 对比分析LLM生成代码的优点

将我的代码与LLM生成的代码进行对比,LLM代码具有以下显著优点:

  1. 稳定性更强:通过输入校验避免程序崩溃,处理了新手容易踩的“输入非数字”坑,且对难度值的合法性做了更全面的判断。
  2. 体验更友好:增加引导、次数统计、人性化提示(如剩余次数、游戏结束提示),从“能用”变成“好用”。
  3. 结构更规范:函数封装让代码符合Python开发习惯,后续想加功能(比如难度选择、重新游戏)更方便。
  4. 这段是LLM帮我润色的

2.4 掌握Git技能,将代码托管至Gitee

使用PyCharm的Gitee插件自动将代码上传至Gitee仓库,具体步骤:

  • 安装Gitee插件并登录账号;
  • 在PyCharm中通过 VCS → Share Project on Gitee 直接创建仓库并推送(注意推送功能!);
  • 插件自动完成同步。

截图5:Gitee上传
image

仓库链接:https://gitee.com/daimonion/stone_papera_scissor
(还没解封,但是当时新建python文件的时候自动上传了,这里先放一个之前成功的图)

3. 实验过程中遇到的问题和解决过程

问题1:PyCharm无法与Gitee连接

问题描述:第一周的时候在PyCharm中尝试推送代码时,提示无法连接或认证失败。

问题1解决方案:在PyCharm插件市场中找了半天并安装 Gitee 插件,然后通过插件进行账号授权,之后即可正常连接和推送。

问题2:代码调试报错

问题描述:调试程序时,设置断点后运行,程序未在预期位置暂停,或变量值异常。

问题2解决方案:设置断点时,确保断点在可执行行(如 input 语句)。调试时使用 Step Over(F8)逐步执行,减少每次运行步骤过多导致难以定位问题。同时注意观察变量窗口,核对变量变化是否符合预期。课上的时候一开始总是没出数,同学告诉我要先stepover,值会自己出来,又结合了老师的讲解,总之经过我一番操作之后变得更加熟练了,很有成就感!

其他(感悟、思考)

通过本次实验,我深刻体会到调试技能的重要性。比如逐行跟踪变量变化,能够快速发现逻辑错误,比单纯靠打印输出高效得多。同时,AI辅助编程可以大大提升代码质量,尤其在输入校验、异常处理、用户体验方面,LLM生成的代码往往考虑得更周全。在Python学习中,总是能在老师的课上收获匪浅学到好东西,今后我将抓住课上,继续认真听讲,而且我会更加注重编写规范、健壮的代码,并熟练使用版本控制工具管理项目。

参考资料

  • 《程序设计与数据结构教程(第二版)》
  • 《程序设计与数据结构教程(第二版)》学习指导
  • Python官方文档:https://docs.python.org/3/
  • Gitee帮助文档:https://gitee.com/help
http://www.jsqmd.com/news/524947/

相关文章:

  • 创富分期客服咨询AI流量赋能,重塑智能体验新标杆 - 王老吉弄
  • 企业级社区物资交易互助平台管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • Qwen3-0.6B-FP8新手入门:图文详解部署与调用,告别复杂配置
  • 为什么你的CentOS7安装Python 3.12.7会失败?这些坑我都帮你踩过了
  • CAPL编程中的三类“特权”变量:系统变量、环境变量与DBC信号变量深度解析
  • 音频ADC测试避坑大全:从24bit/192kHz参数到A计权SNR的实际测量差异
  • CentOS 7/8 开启 Swap
  • BH1750光照传感器原理与RT-Thread嵌入式驱动实现
  • 新手必看!李慕婉-仙逆-造相Z-Turbo部署全攻略,从启动到出图无卡点
  • Flowable会签与或签实战:5分钟搞定多实例任务配置(附避坑指南)
  • C++逆向工程必备技能:使用Toolhelp32获取进程模块基地址的3种方法
  • SpringBoot+Vue 实习生管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • Agent 能为企业带来哪些长期核心价值?:深度解析企业智能自动化的未来图景
  • 嵌入式PWM音频驱动:无源蜂鸣器与扬声器精确发声方案
  • Excel高阶多项式拟合翻车?手把手教你调整小数位数提升精度(附R²值解读)
  • MQ-9气体传感器双温区原理与嵌入式集成方案
  • 探索交错并联Boost PFC仿真电路模型:双闭环控制的魅力
  • Openlayers 自定义地图瓦片加载(三):动态数据可视化与交互增强
  • Word域代码实战:5分钟搞定自动更新日期和页码(附常用代码大全)
  • 户外野餐餐具的LFGB认证特殊要求
  • Cherry Studio vs ChatBox vs AnythingLLM:三款AI工具实战对比,哪款更适合你的工作流?
  • C语言内存管理八大难点:泄漏、悬空指针与缓冲区溢出解析
  • 知识蒸馏实战:如何用PyTorch把大模型压缩到移动端(附完整代码)
  • GLM-TTS新手必看:WebUI界面详解,从上传到合成全流程
  • UE5核心功能实战指南:从基础操作到高级渲染技巧
  • FLUX.小红书极致真实V2惊艳效果:发丝级细节+自然景深+柔和散景表现
  • 深入解析cgroup与cpuset:从基础配置到实战CPU绑定
  • Agent 落地后,如何核算真实的 ROI?企业智能自动化价值评估深度指南
  • Python3实现华为BL锁穷举破解:从理论到实践
  • 2026年加药系统/加药装置/加药设备/加药撬工厂实力盘点:稳定供货+定制化服务优质制造商全解析 - 品牌推荐大师1