鱼C论坛

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

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

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

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

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

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

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

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

print("游戏结束!");


代码如上,运行结果:
[测试]数字是: 3
[游戏开始]猜一猜数字:4
数字过大
错了,再来一次吧:2
数字过大
错了,再来一次吧:3
数字过大
-------------------------------
[测试]数字是: 4
[游戏开始]猜一猜数字:3
数字过小
错了,再来一次吧:5
数字过小

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

20行的gusee改为guess
你写错了所以guess的结果一直是第一次的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

20行的gusee改为guess
你写错了所以guess的结果一直是第一次的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-18 19:36:51 | 显示全部楼层
python为什么语句后面要加;号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-18 20:09:08 | 显示全部楼层
写python谁让你写分号的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

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

print("游戏结束!")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 08:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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