鱼C论坛

 找回密码
 立即注册
查看: 3805|回复: 4

[已解决]求问各位是哪里出错了

[复制链接]
发表于 2022-10-28 22:34:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本人写了一下python教程里的小游戏,但玩的时候发现永远猜不对,它只会返回“大了”或“小了”,卑微求教哪里出了错,非常感谢
  1. """这是一个快乐小游戏"""
  2. import random
  3. chance=9

  4. while chance>0:
  5.     guess=int(input("你觉得我多大了?答案在一百以内哦:"))
  6.     answer=random.randint(1,100)
  7.     if guess==answer:
  8.         print("你真厉害!猜对啦~")
  9.         break
  10.     else:
  11.         if guess<answer:
  12.             print("很可惜,猜小了捏~")
  13.             print(f"还有{chance-1}次机会哦~")
  14.         else:
  15.             print("很可惜,猜大了捏~")
  16.             print(f"还有{chance-1}次机会哦~")
  17. chance=chance-1
  18.    
  19.    
  20. print("游戏结束,不玩啦~")

复制代码
最佳答案
2022-10-28 22:43:53
本帖最后由 jackz007 于 2022-10-29 09:07 编辑
  1. while chance>0:
  2. . . . . . .
  3.     answer=random.randint(1,100)
复制代码

        每次循环 answer 都在变,要是能猜对,那才见了鬼呢,要把这一句移出循环,放到程序开头,while 语句的前面。
  1. import random

  2. ""这是一个快乐小游戏"""

  3. answer=random.randint(1,100)                             # 这一句必须在循环前面
  4. chance=9
  5. while chance>0:
  6.     guess=int(input("你觉得我多大了?答案在一百以内哦:"))
  7.     if guess==answer:
  8.         print("你真厉害!猜对啦~")
  9.         break
  10.     else:
  11.         if guess<answer:
  12.             print("很可惜,猜小了捏~")
  13.             print(f"还有{chance-1}次机会哦~")
  14.         else:
  15.             print("很可惜,猜大了捏~")
  16.             print(f"还有{chance-1}次机会哦~")
  17.     chance=chance-1                                      # 这一句缩进位置有误,已经改正,如果不改,chance 就无用

  18. print("游戏结束,不玩啦~")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-10-28 22:36:29 | 显示全部楼层
可以运行,但就是猜不对
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-28 22:43:53 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-10-29 09:07 编辑
  1. while chance>0:
  2. . . . . . .
  3.     answer=random.randint(1,100)
复制代码

        每次循环 answer 都在变,要是能猜对,那才见了鬼呢,要把这一句移出循环,放到程序开头,while 语句的前面。
  1. import random

  2. ""这是一个快乐小游戏"""

  3. answer=random.randint(1,100)                             # 这一句必须在循环前面
  4. chance=9
  5. while chance>0:
  6.     guess=int(input("你觉得我多大了?答案在一百以内哦:"))
  7.     if guess==answer:
  8.         print("你真厉害!猜对啦~")
  9.         break
  10.     else:
  11.         if guess<answer:
  12.             print("很可惜,猜小了捏~")
  13.             print(f"还有{chance-1}次机会哦~")
  14.         else:
  15.             print("很可惜,猜大了捏~")
  16.             print(f"还有{chance-1}次机会哦~")
  17.     chance=chance-1                                      # 这一句缩进位置有误,已经改正,如果不改,chance 就无用

  18. print("游戏结束,不玩啦~")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-29 02:39:40 | 显示全部楼层
学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-1 10:43:48 | 显示全部楼层
jackz007 发表于 2022-10-28 22:43
每次循环 answer 都在变,要是能猜对,那才见了鬼呢,要把这一句移出循环,放到程序开头,while  ...

!!!妈呀!!对哦!!!非常感谢!!!我下次会更谨慎!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 05:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表