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个。

  1. 掌握git技能

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

2. 实验过程及结果

1.配置Python环境

  • 我安装Python3.13.12这个版本。
    image

2.配置pycharm

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

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

  • 本地调试 :
    image

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生成代码的优点:
  1. 支持重复游玩,允许玩家选择是否继续游戏;
  2. 有报错功能,当非数字输入时会提示重新输入,程序更加健全;
  3. 有猜数字次数统计,直观体现每次次数。

掌握git技能

1.创建码云仓库如下:

image

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,防止覆盖别人的工作
    检查结束我后决定先拉取远程更新解决冲突最后再次推送

其他(感悟、思考等)

对于不懂的专业名词一定要先熟悉,如上文提到的暂存、提交、推送、拉取、抓取、同步等,可以避免不必要的错误发生。

参考资料

posted @ 2026-03-23 21:03  无忆江南  阅读(2)  评论(0)    收藏  举报