鱼C论坛

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

[已解决]python的循环与if嵌套的问题

[复制链接]
发表于 2021-3-18 19:06:12 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Little_Bird 于 2021-3-18 19:09 编辑
  1. import random
  2. secret = random.randint(1,10)
  3. print("==============来玩猜数字游戏吧==============");
  4. print("[测试]数字是:",secret);
  5. temp = input("[游戏开始]猜一猜数字:")
  6. guess = int(temp)

  7. #第一次先判断,若猜不中,则输出是否过大或过小
  8. if guess == secret:
  9.           print("猜中了!");
  10. else:
  11.           if guess > secret:
  12.                     print("数字过大") ;
  13.           else:
  14.                     print("数字过小");

  15. #[循环]若猜不中,则开始不断猜数字,并给提示,直到猜中为止
  16. while(guess != secret):
  17.           temp = input("错了,再来一次吧:")
  18.           gusee = int(temp)
  19.           if guess == secret:#[bug]输入数字并不会判断,也并不会给正确的提示
  20.                     print("猜中了!");
  21.           else:
  22.                     if guess > secret:
  23.                               print("数字过大") ;
  24.                     else:
  25.                               print("数字过小");

  26. print("游戏结束!");
复制代码



代码如上,运行结果:
  1. [测试]数字是: 3
  2. [游戏开始]猜一猜数字:4
  3. 数字过大
  4. 错了,再来一次吧:2
  5. 数字过大
  6. 错了,再来一次吧:3
  7. 数字过大
  8. -------------------------------
  9. [测试]数字是: 4
  10. [游戏开始]猜一猜数字:3
  11. 数字过小
  12. 错了,再来一次吧:5
  13. 数字过小
复制代码


思路是:猜数字,若猜错,给提示,并继续猜,一直到猜对为止.
而运行起来,猜错后,提示(过大/过小),继续猜,但提示会卡在上一次提示(过大/过小),甚至第二次输入正确数字都不会显示正确
个人改啦好多次,还是这样,麻烦各位鱼友指点迷津,谢谢.
最佳答案
2021-3-18 19:32:39
本帖最后由 小伤口 于 2021-3-18 19:34 编辑

20行的gusee改为guess
你写错了所以guess的结果一直是第一次的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-18 19:32:39 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
本帖最后由 小伤口 于 2021-3-18 19:34 编辑

20行的gusee改为guess
你写错了所以guess的结果一直是第一次的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-18 19:36:51 | 显示全部楼层
python为什么语句后面要加;号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-18 20:09:08 | 显示全部楼层
写python谁让你写分号的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-18 20:11:02 | 显示全部楼层
  1. import random
  2. secret = random.randint(1,10)
  3. print("==============来玩猜数字游戏吧==============")
  4. print("[测试]数字是:",secret);
  5. temp = input("[游戏开始]猜一猜数字:")
  6. guess = int(temp)

  7. #第一次先判断,若猜不中,则输出是否过大或过小
  8. if guess == secret:
  9.           print("猜中了!")
  10. else:
  11.           if guess > secret:
  12.                     print("数字过大")
  13.           else:
  14.                     print("数字过小")

  15. #[循环]若猜不中,则开始不断猜数字,并给提示,直到猜中为止
  16. while(guess != secret):
  17.           temp = input("错了,再来一次吧:")
  18.           guess = int(temp)
  19.           if guess == secret:#[bug]输入数字并不会判断,也并不会给正确的提示
  20.                     print("猜中了!")
  21.           else:
  22.                     if guess > secret:
  23.                               print("数字过大")
  24.                     else:
  25.                               print("数字过小")

  26. print("游戏结束!")

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-26 14:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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