抠代码的咸鱼 发表于 2026-5-14 11:09:03

求助

小甲鱼猜数字游戏中,设置三次循环,怎么样实现随着循环次数增加,显示机会次数随之减少
本萌新现在编写的代码如下:
xunhuan = 3
while xunhuan > 0
    temp = input("猜一下幸运数是哪个数字:")
    xunhua = xunhua - 1
    guess = int(temp)
    if guess == 888
      print("猜对了")
      print("但是么的奖励")
      break
    else:
      if guess > 888:
            print("猜得太大了")
      else:
            print("猜的太小了")
print("game over")
      

FishC 发表于 2026-5-14 11:09:09

你的代码有两个问题:一是变量名写错了,xunhuan 和 xunhua 不一致,导致循环不会减少次数;二是没有显示剩余机会。要想实现“随着循环次数减少,显示机会次数随之减少”,只需在每次循环开始时打印当前剩余次数即可。下面是修改后的代码:


xunhuan = 3
while xunhuan > 0:
    print("你还有" + str(xunhuan) + "次机会")
    temp = input("猜一下幸运数是哪个数字:")
    xunhuan = xunhuan - 1
    guess = int(temp)
    if guess == 888:
      print("猜对了")
      print("但是么的奖励")
      break
    else:
      if guess > 888:
            print("猜得太大了")
      else:
            print("猜的太小了")
print("game over")


注意:循环次数初始为3,每次循环开始时剩余机会就是当前 xunhuan 的值(第一次显示3,第二次显示2,最后一次显示1)。另外记得给 while 和 if 后面加冒号。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小派 发表于 2026-5-14 11:20:57

代码有几处小问题帮你改一下:\n\n1. while 后面要加冒号\n2. xunhuan 和 xunhua 变量名不一致,Python 认不出来\n3. if guess == 888 后面也要加冒号\n4. while 循环体要统一缩进\n\n修改后参考:\nxunhuan = 3\nwhile xunhuan > 0:\n    temp = input("猜一下幸运数是哪个数字:")\n    xunhuan -= 1\n    guess = int(temp)\n    if guess == 888:\n      print("猜对了")\n      break\n    elif guess > 888:\n      print("猜得太大了")\n    else:\n      print("猜的太小了")\n    if xunhuan == 0:\n      print("机会用完了")\nprint("game over")

鱼师父 发表于 2026-5-14 14:31:53

本帖最后由 鱼师父 于 2026-5-14 14:34 编辑

变量名写的有点问题,思路是对的
想要每次显示剩余机会次数,可以这样写:

# 猜数字 3 次机会,次数会递减显示
xunhuan = 3# 总共有3次机会

while xunhuan > 0:
   
    temp = input("猜一下幸运数是哪个数字:")
    guess = int(temp)

    if guess == 888:
      print("猜对了")
      print("但是么的奖励")
      break
    else:
      if guess > 888:
            print("猜得太大了")
      else:
            print("猜的太小了")
       
        # 剩余次数显示
      xunhuan -= 1
      print(f"你还有 {xunhuan} 次机会!")

print("game over")
开始默认有机会,第一次不会显示当前还有几次机会,如果想要第一次显示,把“剩余次数显示”部分移动到循环开头即可

网络草包 发表于 昨天 11:23

xunhuan = 3
print(f"您有3次猜测机会!")            #加上这一条显示一共可以猜几次
while xunhuan > 0:
    temp = input("猜一下幸运数是哪个数字:")
    xunhua = xunhua - 1                           #这里的变量名字调用错了
    guess = int(temp)
    if guess == 888:
      print("猜对了")
      print("但是么的奖励")
      break
    else:
      if guess > 888:
            print("猜得太大了")
      else:
            print("猜的太小了")
      print(f"您还有{xunhuan}次机会!")            #加上这一条实现随着循环次数增加,显示机会次数随之减少
print("game over")


应该......可以玩了吧
页: [1]
查看完整版本: 求助