编程小鱼干 发表于 2021-12-4 17:38:13

新人求助

print("-------------我爱鱼c工作室---------------")
temp = input("不妨猜一下小甲鱼心里想的是哪个数字:")
guess = int(temp)
while guess!=8:
    guess = int(temp)
    if guess == 8:
      print("我草,你是小甲鱼心里的蛔虫吗?")
      print("哼,猜对了也没有奖励")
    else:
      if guess > 8:
            print ("大了大了")
      else:
            print("小了小了")
print("游戏结束,不玩了^-^")
看看这串代码,为什么运行时输入的不是8他会一直说大了大了(小了小了)

suchocolate 发表于 2021-12-4 17:51:50

因为循环里没有input

soljax 发表于 2021-12-4 17:52:18

如果运行时输入的不是8,这个while循环会一直执行,因为这个input是在while循环的外面。我自己修改了一下,你看看这个代码print("-------------我爱鱼c工作室---------------")
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("游戏结束,不玩了^-^")

学python要有耐心,持之以恒,我初学这个,加油

jackz007 发表于 2021-12-4 17:53:08

      因为 while 循环内不带 input(),在猜错的时候,没机会重新获取键盘输入。
print("-------------我爱鱼c工作室---------------")
while True:
    temp = input("不妨猜一下小甲鱼心里想的是哪个数字:")
    guess = int(temp)
    if guess == 8:
      print("我草,你是小甲鱼心里的蛔虫吗?")
      print("哼,猜对了也没有奖励")
      break
    else:
      if guess > 8:
            print ("大了大了")
      else:
            print("小了小了")
print("游戏结束,不玩了^-^")

yake大叔 发表于 2021-12-4 18:36:58

jackz007 发表于 2021-12-4 17:53
因为 while 循环内不带 input(),在猜错的时候,没机会重新获取键盘输入。

对的,精辟!点个赞
页: [1]
查看完整版本: 新人求助