20252415 2025-2026-2 《Python程序设计》实验1报告
20252415 2025-2026-2 《Python程序设计》实验1报告
课程:《Python程序设计》
班级: 2524
姓名: 陈至晟
学号:20252415
实验教师:王志强
实验日期:2026年3月23日
必修/选修: 公选课
1.实验内容
1.熟悉Python开发环境;
介绍Python开发环境的各项功能。
2.练习Python运行、调试技能;
编写书中的程序,并进行调试分析,要有过程(运行需要截图、调试需要截图)。
3.编写程序,练习变量和类型、字符串、对象、缩进和注释等;
编写一个猜数字的游戏。
4.利用LLM生成猜数字的游戏。
运行并给出相应的截图。
对比你写的Python程序,分析LLM生成代码的优点,至少写3个。
- 掌握git技能
需要把编写的代码托管到Gitee上,给出托管过程和结果,并在此放上链接(Markdown格式)
2. 实验过程及结果
1.配置Python环境
- 我安装Python3.13.12这个版本。

2.配置pycharm
- (1)我安装了以下插件:

- (2)我还设置了文件自动签名:
添加了:UTF-8编码声明、文件名、作者、创建时间、Python版本号以及一句名言。

效果:

3.编写猜数字游戏
- 以下为我编写的游戏代码:
点击查看代码
# -*- coding: utf-8 -*-
# File : 猜数字游戏 .py
# Author : 无忆江南
# Create Time : 2026/3/23 19:00
# Python Version : 3.18.12
# " ————when it is dark enough ,we can see the stars."
import random
print("""
欢迎来到紧张刺激的猜数字游戏v1.0
开发时间:20260323
版权所有:无忆江南
""")
level=int(input("请选择游戏难度,输入N,N越大越难"))
luck_number=random.randint(1,level)
while True:
guess_number = int(input("请猜一个数字"))
if guess_number==luck_number:
print("恭喜你:答对了")
break
elif guess_number>luck_number:
print("哈哈大了")
elif guess_number<luck_number:
print("哈哈小了")*
- 本地运行结果:
点击查看代码
欢迎来到紧张刺激的猜数字游戏v1.0
开发时间:20260323
版权所有:无忆江南
请选择游戏难度,输入N,N越大越难100
请猜一个数字50
哈哈大了
请猜一个数字25
哈哈大了
请猜一个数字16
哈哈大了
请猜一个数字8
哈哈小了
请猜一个数字12
哈哈小了
请猜一个数字14
哈哈大了
请猜一个数字13
恭喜你:答对了
进程已结束,退出代码为 0
- 本地调试 :

4.利用LLM生成猜数字的游戏
- 使用豆包AI生成程序如下:
点击查看代码
# -*- coding: utf-8 -*-
# File : 猜数字游戏(豆包版本) .py
# Author : 无忆江南
# Create Time : 2026/3/23 19:45
# Python Version : 3.18.12
# " ————when it is dark enough ,we can see the stars."
import random
# 游戏主流程(无函数版本)
print("🎉 欢迎来到猜数字游戏!🎉")
print("——————————————————")
while True:
# 1. 难度选择(带输入验证)
min_num, max_num = 1, 100 # 默认中等难度
while True:
try:
difficulty = input("请选择难度(1-简单 2-中等 3-困难):")
difficulty = int(difficulty)
if difficulty == 1:
min_num, max_num = 1, 50
break
elif difficulty == 2:
min_num, max_num = 1, 100
break
elif difficulty == 3:
min_num, max_num = 1, 200
break
else:
print("⚠️ 请输入1、2、3中的一个数字!")
except ValueError:
print("⚠️ 输入无效!请输入数字1、2或3!")
# 2. 生成随机数字
secret_number = random.randint(min_num, max_num)
guess_count = 0 # 记录猜测次数
print(f"\n✅ 游戏开始!我已经生成了一个 {min_num} 到 {max_num} 之间的随机数字")
print("开始你的猜测吧!")
# 3. 猜数字核心逻辑
while True:
try:
# 获取玩家输入
user_guess = input("\n请输入你猜的数字:")
user_guess = int(user_guess)
guess_count += 1
# 判断猜测结果
if user_guess < secret_number:
print(f"📈 太小了!再往大了猜猜看(已猜{guess_count}次)")
elif user_guess > secret_number:
print(f"📉 太大了!再往小了猜猜看(已猜{guess_count}次)")
else:
# 猜对了,结束本轮游戏
print("\n🏆 恭喜你!猜对了!")
print(f"🔢 神秘数字就是:{secret_number}")
print(f"📝 你一共猜了 {guess_count} 次")
# 游戏评价
if guess_count <= 5:
print("🌟 太厉害了!你是猜数字大师!")
elif guess_count <= 10:
print("👍 很不错!继续加油!")
else:
print("💪 下次可以尝试更有策略地猜测哦!")
break # 退出本轮猜数字循环
except ValueError:
print("❌ 输入错误!请输入有效的整数!")
# 4. 询问是否重新玩
while True:
play_again = input("\n是否要再玩一次?(y/n):").lower()
if play_again == 'y':
print("\n🔄 重新开始游戏!")
print("——————————————————")
break # 重新玩,回到难度选择
elif play_again == 'n':
print("👋 感谢游玩!下次再见!")
exit() # 退出程序
else:
print("⚠️ 请输入 y 或 n!")
- 本地运行结果:
点击查看代码
🎉 欢迎来到猜数字游戏!🎉
——————————————————
请选择难度(1-简单 2-中等 3-困难):2
✅ 游戏开始!我已经生成了一个 1 到 100 之间的随机数字
开始你的猜测吧!
请输入你猜的数字:50
📈 太小了!再往大了猜猜看(已猜1次)
请输入你猜的数字:75
📉 太大了!再往小了猜猜看(已猜2次)
请输入你猜的数字:62
📈 太小了!再往大了猜猜看(已猜3次)
请输入你猜的数字:68
📈 太小了!再往大了猜猜看(已猜4次)
请输入你猜的数字:72
📉 太大了!再往小了猜猜看(已猜5次)
请输入你猜的数字:70
📈 太小了!再往大了猜猜看(已猜6次)
请输入你猜的数字:71
🏆 恭喜你!猜对了!
🔢 神秘数字就是:71
📝 你一共猜了 7 次
👍 很不错!继续加油!
是否要再玩一次?(y/n):n
👋 感谢游玩!下次再见!
进程已结束,退出代码为 0
- LLM生成代码的优点:
- 支持重复游玩,允许玩家选择是否继续游戏;
- 有报错功能,当非数字输入时会提示重新输入,程序更加健全;
- 有猜数字次数统计,直观体现每次次数。
掌握git技能
1.创建码云仓库如下:

- 仓库链接:- python公选课仓库-无忆江南
2.推送至码云仓库:
3. 实验过程中遇到的问题和解决过程
问题1:
第一次接触仓库管理,对于暂存、提交、推送、拉取、抓取、同步等词无法区分。
问题1解决方案:
询问豆包得到解释如下:
(1) 暂存(git add)
把修改过的文件标记为 “准备提交”
相当于:把货物放到待发货区
(2) 提交(git commit)
把暂存区的内容永久保存到本地仓库
相当于:把货物正式入库,并记录版本
(3) 推送(git push)
把本地仓库的提交传到远程仓库(如 GitHub/GitLab)
相当于:把本地仓库的货发到中央总仓库
(4)拉取(git pull)
从远程仓库下载最新代码,并自动合并到本地
相当于:把中央仓库最新版本拉到本地,并更新
(5) 抓取(git fetch)
只下载远程最新代码,不合并
相当于:看看中央仓库有没有新版本,但先不更新本地
(6) 同步(sync)
让本地和远程保持完全一致
通常 = fetch + merge 或 pull
相当于:本地仓库和中央仓库对齐
问题2:
远程仓库与本地不同步导致推送失败
问题2解决方案:
截图询问豆包得知:
- 本地 master 分支,和远程 origin/master 分支的提交历史不一致
- 远程仓库里有本地没有的新提交(可能是别人推送的,或是你在别的设备上提交的)
- Git 出于安全考虑,拒绝了直接 git push,防止覆盖别人的工作
检查结束我后决定先拉取远程更新解决冲突最后再次推送
其他(感悟、思考等)
对于不懂的专业名词一定要先熟悉,如上文提到的暂存、提交、推送、拉取、抓取、同步等,可以避免不必要的错误发生。


浙公网安备 33010602011771号