2025-2026-2 《Python程序设计》实验一报告_20252428_代林淞

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


基本信息

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

1. 实验内容

本次实验主要包括以下五个方面:

(1)熟悉Python开发环境

了解Python开发环境(主要是PyCharm)的各项功能,掌握如何创建、编辑、保存和运行Python文件,熟悉编辑器的基本操作。

(2)练习Python运行、调试技能

通过编写书中提供的示例程序,练习Python代码的运行方法,掌握断点调试、单步执行、查看变量值等调试技巧,理解程序执行流程。

(3)编写程序,练习变量和类型、字符串、对象、缩进和注释等

通过编写一个猜数字游戏程序,综合练习Python中的变量定义与数据类型、字符串处理、用户输入输出、代码缩进规范以及注释的添加方法。

(4)利用LLM生成猜数字的游戏

使用大语言模型(如通义千问、文心一言等)(这里使用opencode)生成猜数字游戏代码,运行并测试生成结果,对比分析LLM生成代码与自行编写代码的差异,总结LLM生成代码的优点。

(5)掌握git技能

学习git版本控制工具的基本使用方法,将编写的代码托管到Gitee平台,掌握仓库创建、代码提交、版本管理等基本操作。


2. 实验过程及结果

(1)Python开发环境熟悉

在本次实验中,我首先熟悉了Python的集成开发环境。由于之前已安装Python解释器,本次重点熟悉了PyCharm的基本操作。

在PyCharm中,我学习了以下功能:

  • 新建Python项目(File → New Project)
  • 创建Python文件(右键 → New → Python File)
  • 运行程序(右键 → Run)或使用快捷键Shift+F10
  • 调试程序(右键 → Debug)设置断点、单步执行
  • 终端工具(Terminal)的使用


(2)Python运行与调试技能练习

我选取了教材中的几个基础示例进行练习,包括:

  • Hello World程序

调试过程中,我学习了以下技能:

  • 设置断点:在代码行号左侧点击设置断点
  • 单步执行:使用F7(Step Into)进入函数内部,F8(Step Over)执行下一行
  • 查看变量:在调试窗口的Variables面板查看当前作用域内的变量值


(3)猜数字游戏编写

以下是本次实验中自行编写的猜数字游戏代码:

## 猜数字游戏(人工版)

import random

print("欢迎进入猜数字游戏")
MAX = int(input("请输入猜数字的最大值(最小值为0):"))
luck = random.randint(0, MAX)
guess_number = int(input("请输入数字(0-%d)"%MAX))
while True:
    if guess_number > MAX or guess_number <0:
        print("数字未在讨论范围内")
        guess_number = int(input("请重新输入:(1-100)"))
    elif guess_number == luck:
        print("恭喜答对了")
        break
    elif guess_number < luck:
        print("猜小了")
        guess_number = int(input("请重新输入:(1-100)"))
    elif guess_number > luck:
        print("猜大了")
        guess_number = int(input("请重新输入:(1-100)"))

程序运行结果示例:


(4)LLM生成猜数字游戏及对比分析

我使用opencode生成了猜数字游戏代码,以下是生成结果:

LLM生成代码的运行结果:

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

优点1:代码结构更加规范

LLM生成的代码具有完整的模块化结构,包括清晰的划分、完整的异常处理。相比我自行编写的代码,LLM生成的版本在代码组织上更加合理,体现了良好的编程习惯。

优点2:注释和文档更加完善

LLM会自动为代码添加详细的注释和说明,包括文件头注释、函数功能说明、参数说明和返回值说明等。这使得代码的可读性和可维护性大大提高,也便于他人理解代码逻辑。

优点3:边界处理更加全面

LLM生成的代码通常会包含更多的边界情况处理,如输入验证、异常捕获等。例如,会处理用户输入非数字、输入超出范围等情况,使程序更加健壮。

优点4:用户体验更加友好

LLM会在输出中加入更多的提示信息和交互设计,如进度条、动画效果、更好的格式化输出等,提升用户体验。

优点5:代码风格更加统一

LLM生成的代码遵循一致的命名规范、缩进风格和代码结构,具有更高的可读性和一致性。


(5)Git技能掌握与Gitee托管

本次实验学习了git的基本操作和Gitee平台的使用。

主要学习内容:

  • git安装与配置
  • 创建版本库
  • 添加文件到暂存区
  • 提交版本
  • 远程仓库关联
  • 推送到远程仓库

Gitee仓库链接:Python公选课仓库


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

问题1:Python环境配置问题

  • 问题描述: 在初次运行Python程序时,出现"python不是内部或外部命令"的错误提示,无法在命令行中直接运行python命令。
  • 问题原因: 安装Python时未勾选"Add Python to PATH"选项,导致系统无法找到python解释器。
  • 解决方案:
    1. 手动将Python安装目录添加到系统环境变量PATH中
    2. 或者在命令行中使用python的完整路径(如:C:\Python311\python.exe)
    3. 重新打开命令行终端,问题得到解决

问题2:调试时无法查看变量值

  • 问题描述: 在使用PyCharm调试时,Variables窗口显示" is not available",无法查看某些变量的值。
  • 问题原因: 调试时进入了不同的作用域,或者变量在当前断点处尚未被定义。
  • 解决方案:
    1. 确认断点设置在变量定义之后
    2. 使用"Evaluate Expression"功能手动计算表达式值
    3. 在Watches窗口添加想要监视的变量
    4. 调整断点位置,确保在变量作用域内

问题4:git push失败

  • 问题描述: 在执行git push命令时,出现"remote: Permission denied"错误,无法推送到远程仓库。
  • 问题原因: 未配置SSH公钥,或者远程仓库地址错误。
  • 解决方案:
    1. 生成SSH密钥对
    2. 将公钥添加到Gitee账户设置中
    3. 确认远程仓库地址正确
    4. 重新尝试git push操作

问题5:缩进错误导致程序无法运行

  • 问题描述: 运行程序时出现"IndentationError: unexpected indent"错误。
  • 问题原因: 代码中混用了空格和Tab缩进,或者缩进层级不一致。
  • 解决方案:
    1. 在IDE中设置显示空格和Tab字符
    2. 统一使用4个空格进行缩进(不要使用Tab)
    3. 检查并修正所有缩进错误的位置
    4. 使用IDE的自动格式化功能

其他(感悟、思考等)

通过本次实验,我对Python程序设计有了更深入的理解,也发现了自身存在的不足之处。

首先,在环境配置方面,我意识到提前做好开发环境的准备工作非常重要。一个稳定、配置正确的开发环境能够大大提高编程效率,避免因环境问题导致的低级错误。

其次,在编写猜数字游戏的过程中,我深刻体会到编程思想的重要性。虽然功能简单的程序看似容易,但涉及到用户交互、异常处理、逻辑控制等多个方面,需要综合考虑各种情况。这让我认识到,优秀的程序不仅仅是"能运行",更重要的是"运行得好"——用户体验流畅、代码结构清晰、错误处理完善。

关于LLM辅助编程的思考:在这个人工智能快速发展的时代,LLM已经成为程序员的有力工具。它能够帮助我们快速生成代码框架、提供思路参考、解决疑难问题。但同时也要看到,LLM生成的代码并非完美无缺,作为开发者,我们需要具备判断代码质量、识别潜在问题的能力。LLM是辅助工具,而不是替代品,我们自身的编程能力和逻辑思维仍然是核心。

在git学习方面,虽然之前有所了解,但本次实验让我对版本控制有了更系统的认识。版本控制不仅仅是代码托管,更重要的是一种项目管理思想——它帮助我们记录开发历程、管理版本变更、协作开发项目。这些技能对今后的学习和工作都将大有裨益。

展望未来,我计划在以下几个方面继续努力:

  1. 深入学习Python标准库,扩展知识面
  2. 多练习实际的编程项目,提高解决实际问题的能力
  3. 养成良好的代码风格和编程习惯
  4. 持续关注新技术,保持学习的热情

参考资料


posted @ 2026-03-23 20:02  Doglists  阅读(16)  评论(0)    收藏  举报