20252217 实验一 《python程序设计》实验1报告
20252217 2025-2026-3 《Python程序设计》实验1报告
课程:《Python程序设计》
班级: 2522
姓名: 贾子墨
学号:20252217
实验教师:王志强
实验日期:2026年3月23日
必修/选修: 公选课
1.实验内容
1.熟悉Python开发环境
2.编写书中的程序,并进行调试分析,要有过程并截图(这里以deepseek生成的猜数字游戏为例)。
3.编写程序,练习变量和类型、字符串、对象、缩进和注释等(这里以猜数字程序为例)。
4. 利用LLM生成猜数字的游戏,运行并给出相应的截图。然后对比自己写的Python程序与LLM生成程序并分析其优点(至少写3个)。
5. 把编写的代码托管到Gitee上,给出托管过程和结果,并把链接以markdown形式放在报告后。
2. 实验过程及结果
此处填写实验的过程及结果
2.1 Python 开发环境的各项功能:
1. 代码编辑器
(1).不同代码元素显示不同颜色
(2).能够自动缩进,保持代码结构整齐
(3).自动自动补全代码,如提示变量、函数名,按tab即可补全
(4).如果语法出现问题则标红
2. 运行与调试
(1).可以一键运行,直接执行 Python 脚本
(2).用户能够设置断点、单步执行、查看变量值,便于检查错误
(3).测试台能够交互,即时测试代码片段
3. 项目文件管理
(1).以文件树形式浏览、新建、删除项目文件
(2).通过 pip 安装/卸载第三方库
4. 版本控制
借助git功能实现提交、推送、分支管理等操作,更加方便
5. 常用开发环境
PyCharm(目前上课使用):功能全面,适合大型项目,并且比较方便日常编写代码
VS Code:轻量免费,插件丰富
Jupyter:数据分析与交互式编程
IDLE:Python 自带,适合初学者
2.2 对程序进行调试分析(这里以deepseek生成猜数字游戏为例)
1.将生成的代码保存为猜数字(deepseek)文件


2.点击运行按钮启动程序,下面附上程序运行结果


3.对程序设置断点进行调试
(1).在代码行号旁点击,设置断点

(2).点击调试按钮进行调试,程序会在断点处暂停

输入难度为2后按回车继续运行程序

从调试截图中可以看出,调试器清晰地显示了变量的值
通过设置断点并调试,我能够更清晰的理解程序的执行流程和变量的变化过程。
2.3 编写一个猜数字游戏
1.自己编写
import random # 导入随机数模块
# 生成一个1到100之间的随机整数作为幸运数字
lucky_number = random.randint(1, 100)
# 无限循环,直到猜对才退出
while True:
# 获取用户输入的猜测数字,并转换为整数类型
guess_number = int(input('请猜一下吧~\n'))
# 判断是否猜中
if guess_number == lucky_number:
print('我天!这么厉害')
break # 猜中后退出循环,游戏结束
# 判断猜的数字是否小于幸运数字
if guess_number < lucky_number:
print('小辣小辣')
# 判断猜的数字是否大于幸运数字
if guess_number > lucky_number:
print('大辣大辣')
2.使用LLM生成
import random # 导入随机数模块
def guess_number():
"""猜数字游戏主函数"""
print("=" * 40)
print(" 欢迎来到猜数字游戏!")
print("=" * 40)
# 设置游戏范围
min_num = 1
max_num = 100
# 随机生成目标数字
target = random.randint(min_num, max_num)
attempts = 0
max_attempts = 10
print(f"我已经想好了一个 {min_num} 到 {max_num} 之间的数字。")
print(f"你有 {max_attempts} 次机会猜中它!\n")
while attempts < max_attempts:
try:
# 获取玩家输入
guess = int(input(f"还剩 {max_attempts - attempts} 次机会,请输入你的猜测: "))
attempts += 1 # 增加尝试次数
# 判断输入是否在有效范围内
if guess < min_num or guess > max_num:
print(f"请输入 {min_num} 到 {max_num} 之间的数字!\n")
attempts -= 1 # 无效猜测不消耗次数
continue
# 比较猜测值与目标值
if guess < target:
print("📈 太小了!再大一点\n")
elif guess > target:
print("📉 太大了!再小一点\n")
else:
print(f"\n🎉 恭喜你猜对了!")
print(f"你用了 {attempts} 次猜中了数字 {target}!")
break # 退出循环
except ValueError:
# 处理非数字输入
print("请输入有效的数字!\n")
else:
# 循环正常结束(未猜中)时执行
print(f"\n😢 很遗憾,机会用完了!")
print(f"正确答案是: {target}")
print("\n" + "=" * 40)
play_again = input("想再玩一局吗?(y/n): ").lower()
if play_again == 'y' or play_again == 'yes':
guess_number() # 递归调用重新开始游戏
else:
print("谢谢游玩,再见!")
# 主函数调用函数
if name == "main":
guess_number()
两个程序运行截图


2.4LLM生成程序相比自己写程序的优点
(1).具有完善的异常处理机制
使用try-except捕获非数字输入,防止程序崩溃
校验输入范围,确保用户在1-100之间猜测
无效输入不消耗猜测次数,用户体验更友好
(2).具有完整的游戏规则并能合理的控制流程
设置10次猜测上限并且实时显示剩余次数,避免无限循环
支持重玩功能,游戏结束后可选择再开一局
(3).规范的代码设计
使用函数封装主逻辑,提高代码复用性
添加if name == "main":标准程序入口
符合Python编写规范,也可以作为模块被其他程序调用
2.5把代码托管到Gitee
先关联Gitee账号;再通过git init初始化本地仓库,git add .添加实验代码文件,git commit -m ""提交代码至本地仓库;接着用git remote add origin关联远程Gitee仓库;最后通过git push origin master将本地代码推送至Gitee远程仓库。
附上托管结果与我的gitee仓库:

3.实验过程中遇到的问题和解决过程
(1).用户输入非数字导致程序崩溃:
当程序执行到 int(input()) 时,如果用户输入字母、符号或空格,程序会直接崩溃退出。
解决方法:
使用 try-except 语句捕获异常,提示用户重新输入。
(2).用户输入超出数字范围:
游戏设定数字范围为1-100,但用户可能输入0、负数或大于100的数字,导致不合理的猜测。
解决方法:
添加范围判断,提示用户输入有效数字,且不消耗猜测次数。
(3).无限循环无法结束:
使用 while True,如果用户一直猜不中,程序永远不会自动结束。
解决方法:
添加猜测次数限制,最多允许10次猜测。
4.其他(感悟、思考等)
代码并不是能跑就行,用户输错了,猜的范围不对,游戏结束了想重玩,这些看似比较多余的代码,反而决定了程序的鲁棒性

浙公网安备 33010602011771号