20241307 实验一 《Python程序设计》实验报告

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

课程:《Python程序设计》
班级: 2413
姓名: 张岳峰
学号:20241307
实验教师:王志强
实验日期:2025年3月12日
必修/选修: 公选课

1.实验内容

1.熟悉Python开发环境;
2.练习Python运行、调试技能;(编写书中的程序,并进行调试分析,要有过程)
3.编写程序,练习变量和类型、字符串、对象、缩进和注释等;(编写一个猜数字或猜拳的游戏)
4. 掌握git技能

2. 实验过程及结果

1、安装 python
2、配置 pycharm的 python 环境,下载一些有用的插件
2、熟悉 pycharm的 python 环境,熟悉一下pycharm终端和操作台
4、跟着老师编写书中的猜数字、与机器人程序等,并进行调试分析
5、链接git库并将代码上传至个人码云主页

下载pycharm并配置项目链接个人gitee库:

编写猜数代码,代码如下:

代码实现过程如下:

  1. 导入模块
    import random
    此语句的作用是导入random模块,该模块能生成随机数,在后续生成待猜数字时会用到。

  2. 打印游戏信息
    print("""
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    欢迎来到猜数字游戏!你值得拥有!
    猜数字1.0版本
    请支持正版,V我50!
    Pyinstaller:pip install pyinstaller
    pyinstaller -F 猜数字.py
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

       版权:zyf
       开发时间:2025年植树节
     适度娱乐,不要沉迷游戏!严禁未满18岁儿童使用。
         哈哈哈哈哈哈哈哈哈哈哈哈哈
         我命由我不由天!!哈哈
    

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

""")
这里使用字符串打印了游戏的相关信息
3. 获取游戏难度
level = int(input("请输入难度(三岁小孩:30,五岁小孩:50,十岁小孩:100,......):"))
借助input函数让用户输入游戏难度,接着使用int函数将用户输入的字符串转换为整数类型,存储在变量level中。该变量会用于确定随机数的范围。
4. 生成待猜数字
luckynum = random.randint(1,level)
利用random.randint(1, level)函数生成一个介于 1 和level之间(包含 1 和level)的随机整数,将其作为待猜的数字,存储在变量luckynum里。
5. 获取首次猜测
guess = int(input("请输入你猜的数字:"))
通过input函数让用户输入猜测的数字,再用int函数将输入的字符串转换为整数类型,存储在变量guess中。
6. 循环猜测过程
python
while True:
if guess == luckynum:
print("恭喜你,猜对了!哈哈哈哈")
break
else:
print("哈哈,你猜错了!")
if guess > luckynum:
guess = int(input("大了,请继续输入你猜的数字:"))
else:
guess = int(input("小了,请继续输入你猜的数字:"))
这是一个无限循环while True,用于持续让用户猜测数字,直至猜对为止。
若guess等于luckynum,则表明用户猜对了,打印恭喜信息,并用break语句跳出循环,结束游戏。
若guess不等于luckynum,则打印猜错信息,接着判断guess与luckynum的大小关系:
若guess大于luckynum,提示用户猜大了,让用户继续输入猜测的数字。
若guess小于luckynum,提示用户猜小了,让用户继续输入猜测的数字。

运用debug设置三个断点调试一下,while语句,if-else结构:

运行结果如下:

上传至git仓库:

顺便编写了猜拳程序,代码如下:

实现过程如下:

  1. 导入模块
    import random
    此代码行导入 random 模块,该模块用于生成随机数或从序列中随机选择元素,在这个程序里,主要用于模拟出拳的随机选择。
  2. 初始化变量
    lost = 0
    win = 0
    scissorrockFive = ["剪刀","石头","布"]
    lost:用于记录输掉的局数,初始值设为 0。
    win:用于记录赢的局数,初始值设为 0。
    scissorrockFive:这是一个列表,包含了剪刀石头布游戏中可能出现的三种出拳选项,即 "剪刀"、"石头" 和 "布"。
  3. 游戏循环
    while win != 3 and lost != 3:
    这是一个 while 循环,只要玩家赢的局数不等于 3 且输的局数也不等于 3,循环就会持续进行。也就是说,当玩家先赢得 3 局或者先输掉 3 局时,游戏结束。
  4. 机器人出拳和玩家出拳
    robot = random.choice(scissorrockFive)
    superman = input("请出拳:")
    robot = random.choice(scissorrockFive):使用 random.choice() 函数从 scissorrockFive 列表中随机选择一个元素,将其作为机器人的出拳结果,并存储在变量 robot 中。
    superman = input("请出拳:"):通过 input() 函数提示玩家输入出拳信息,玩家输入的内容会被存储在变量 superman 中。
  5. 判断游戏结果
    if superman == robot:
    print("平局!")
    elif superman == "剪刀" and robot == "石头":
    print("你输了")
    lost += 1
    elif superman == "剪刀" and robot == "布":
    print("你赢了")
    win += 1
    elif superman == "石头" and robot == "布":
    print("你输了")
    lost += 1
    elif superman == "石头" and robot == "剪刀":
    print("你赢了")
    win += 1
    elif superman == "布" and robot == "剪刀":
    print("你输了")
    lost += 1
    elif superman == "布" and robot == "石头":
    print("你赢了")
    win += 1
    这里使用了一系列的 if-elif 语句来判断每一局游戏的结果:
    如果玩家的出拳和机器人的出拳相同,那么判定为平局,打印 "平局!"。
    对于其他不同的出拳组合,根据剪刀石头布的游戏规则来判断玩家是赢还是输:
    如果玩家赢了,打印 "你赢了",并将 win 的值加 1。
    如果玩家输了,打印 "你输了",并将 lost 的值加 1。
  6. 游戏结束判断
    if win == 3:
    print("你获胜了")
    else:
    print("你输了")

当 while 循环结束后,根据 win 和 lost 的值来判断整个游戏的最终结果:
如果 win 的值等于 3,说明玩家先赢得了 3 局,打印 "你获胜了"。
否则,说明玩家先输掉了 3 局,打印 "你输了"。

在每个if语句设置断点,调试一下每条条件的功能:

运行结果如图:

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

  • 问题1:无法上传至git库,一上传就报错,上传成功在个人gitee仓库也找不到代码
  • 问题1解决方案:在实验一配置过的项目创建新的python程序文件,重新链接git库上传并推送源程序,查询资料得知应该以管理员身份运行PyCharm才能上传。
  • 问题2:不太了解python中利用while语句实现重复计算界面的语法用法
  • 问题2解决方案:看教材、询问豆包帮我纠正代码错误,并学习到了while语句在python的正确用法
    和C语言whlie语句区别具体如下:
  • 问题3:python语法运用不熟练,编写程序报错
  • 问题3解决方案:看教程查资料,多学习python语言语法,更好的编写程序
  • ...

其他(感悟、思考等)

编写python代码时设计算法其实和c语言很像,甚至有相同的逻辑,这就是快速学习的基础。只需要了解python各个功能实现的语句,函数接口,和语法便可以运用学习C语言是高效的算法来实现。python的功能比C语言要更丰富一些,甚至可以对文字赋值运算。平时碰到代码报错不要直接给AI询问错误,逐渐尝试并熟练掌握Debug设置断点,可以自己分析并解决问题。AI可以大大提高资料搜索的效率,比翻书查找快很多,可以针对自己的问题给出解决方法和知识,学会合理运用AI,极大的提升学习效率,更快更好地掌握编程能力。

参考资料

  • [《零基础学Python》]
  • [《Python编程从入门到实践》]
  • 豆包AI
posted @ 2025-03-16 17:06  20241307张岳峰  阅读(23)  评论(1)    收藏  举报