xue. 发表于 2022-7-23 23:21:17

Python疑问

temp=input("猜一下我心里想的是哪个数字:")
guess=int(temp)
while guess !=8:
    temp=input("哎呀,猜错了,请重新输入吧:")
    guess=int(temp)
    if guess==8:
      print("你是我肚子里的蛔虫吗?!")
      print("但是猜对了也没有奖励!")
    else:
      if guess>8:
            print("大了~大了!")
      else:
            print("小了~小了!")
print("游戏结束,不玩啦·~~")

为什么只有猜对了才会print游戏结束,猜错了只会出大了或小了,不会print游戏结束。

临时号 发表于 2022-7-23 23:25:27

猜错了你不是还要让用户继续猜吗,为什么要结束

xue. 发表于 2022-7-23 23:27:52

临时号 发表于 2022-7-23 23:25
猜错了你不是还要让用户继续猜吗,为什么要结束

对啊,要继续猜,但是游戏结束不是在最后顶头写的吗,为什么猜错了不会print游戏结束?

临时号 发表于 2022-7-24 00:01:59

xue. 发表于 2022-7-23 23:27
对啊,要继续猜,但是游戏结束不是在最后顶头写的吗,为什么猜错了不会print游戏结束?

注意:游戏结束的代码没有被缩进在while循环中,也就是说,执行print("游戏结束,不玩啦·~~")的首要条件是跳出while循环
而while循环的条件是如果guess不等于8继续执行,换而言之就是如果guess等于8才跳出循环,那guess等于8不就是猜对了的情况吗
所以,如果猜对了就会跳出循环,从而执行print("游戏结束,不玩啦·~~")这句代码,猜错了就不会跳出循环,自然就执行不到print("游戏结束,不玩啦·~~")这句代码

xue. 发表于 2022-7-24 06:36:03

临时号 发表于 2022-7-24 00:01
注意:游戏结束的代码没有被缩进在while循环中,也就是说,执行print("游戏结束,不玩啦·~~")的首要条件是 ...

明白了·,感谢

临时号 发表于 2022-7-24 13:37:39

xue. 发表于 2022-7-24 06:36
明白了·,感谢

如果问题解决了,不要忘了设置最佳答案哦

yoyo925 发表于 2022-7-25 13:27:33


temp=input("猜一下我心里想的是哪个数字:")
guess=int(temp)
while guess !=8:
    temp=input("哎呀,猜错了,请重新输入吧:")
    guess=int(temp)
    if guess==8:
      print("你是我肚子里的蛔虫吗?!")
      print("但是猜对了也没有奖励!")
    else:
      if guess>8:
            print("大了~大了!")
            break
      else:
            print("小了~小了!")
            break
print("游戏结束,不玩啦·~~")break 语句,跳出循环
页: [1]
查看完整版本: Python疑问