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

20243105 2025-2026-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 运行过程

本节编写一个猜数字游戏。
思路如下:首先导入random用于生成随机数,然后给出提示语和输入难度,注意要用int强制转换输入,之后按照猜大猜小的逻辑,给出相应结果。
这里正常运行猜数字游戏,输入难度和猜测数字,程序给出相应提示,直至猜中。

截图2:运行过程
image

2.3 LLM生成代码及运行对比

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

image

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

import random

print("=== 猜数字游戏 ===")
print("开发日期:20260323")
print("版权所有:BESTI")

# 难度选择
while True:
    try:
        max_num = int(input("请输入难度(数字越大越难):"))
        if max_num <= 0:
            print("难度必须为正整数!")
        else:
            break
    except ValueError:
        print("无效输入,请输入整数。")

secret = random.randint(1, max_num)

# 猜的次数限制
max_attempts = 5
attempts = 0

print(f"游戏开始!你共有 {max_attempts} 次机会。")

while attempts < max_attempts:
    try:
        guess = int(input("猜一个数字:"))
    except ValueError:
        print("请输入整数!")
        continue

    attempts += 1
    if guess == secret:
        print(f"恭喜!你在第 {attempts} 次猜中了!")
        break
    elif guess < secret:
        print("小了")
    else:
        print("大了")

    if attempts == max_attempts:
        print(f"很遗憾,机会用尽。正确答案是 {secret}。")

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学习中,总是能在老师的课上收获匪浅学到好东西,今后我将抓住课上,继续认真听讲,而且我会更加注重编写规范、健壮的代码,并熟练使用版本控制工具管理项目。

参考资料

posted @ 2026-03-23 23:27  Demothenes  阅读(21)  评论(3)    收藏  举报