a05040058 发表于 2021-2-2 20:40:24

为什么会出现第一结果?

print('------我爱老田-------')
temp = input("请输入1到100的数字:")
guess = int(temp)
times = 3

while (guess != 8) and times >0:
    temp = input("继续猜:")
    guess = int(temp)
    times = times -1
    if guess == 8:
      print("你好牛逼啊!")

    else:
      if guess > 8:
            print("大了")
      else:
            print("小了")

print("游戏结束!")
-------------------------------------------------------以上为我写的代码
------我爱老田-------
请输入1到100的数字:4
继续猜:5
小了
继续猜:6
小了
继续猜:9
大了
游戏结束!
>>>
------------------------------------------------以上为我的结果。
问题:
1.我希望三次以后结束循环,为什么4次?
2.红字部分为什么没有“大了”“小了”的提示?
感谢

小甲鱼的铁粉 发表于 2021-2-2 20:47:22


print('------我爱老田-------')
temp = input("请输入1到100的数字:")
guess = int(temp)
times = 3

while (guess != 8):
    guess = int(temp)
    times = times -1
    if guess == 8:
      print("你好牛逼啊!")

    else:
      if guess > 8:
            print("大了")
      else:
            print("小了")
    if times == 0:
      break
    temp = input("继续猜:")

print("游戏结束!")

°蓝鲤歌蓝 发表于 2021-2-2 20:48:57

1. while 里面是 3 次,多出来的一次是在 while 外面猜的
2. 你按从上到下按顺序看一遍代码就知道了,程序执行顺序是从上到下的

1406598279 发表于 2021-2-2 21:42:47

循环里循环了3次,后面还有一次所以你可以将times改为2

萌新人 发表于 2021-2-3 12:22:26

print('------我爱老田-------')
temp = input("请输入1到100的数字:")
guess = int(temp)
times = 2

while (guess != 8) and times > 0:
    if guess == 8:
      print("你好牛逼啊!")

    else:
      if guess > 8:
            print("大了")
      else:
            print("小了")
    temp = input("继续猜:")
    guess = int(temp)
    times = times - 1
print("游戏结束!")
页: [1]
查看完整版本: 为什么会出现第一结果?