1252652140 发表于 2020-12-14 22:38:18

球求大佬帮忙,看看哪里错了

问题:大了的话会一直循坏下去,
        小了的话,第二次,他会把【小了,三次机会都用完了,不和你玩了】,显示出来,而不是显示小了

import random

secret = random.randint(1,10)
temp = input("数字是多少:")
guess = int(temp)
times = 1


while (guess != secret ) and (times < 3):
    if guess > secret:
      print("大了")
    else:
      print("小了")

      temp =input('在试试把')
      g = int(temp)
      times = times +1


      if (times <= 3 ) and (guess == secret):
            print("答对了")

      else:
                print("三次机会都用完了,不和你玩了")

jackz007 发表于 2020-12-14 22:49:33

本帖最后由 jackz007 于 2020-12-14 22:54 编辑

      代码逻辑混乱,首先应该判断是否猜对,在猜错的情况下,才需要进一步判断是大还是小了,还有,判断是否猜对与 times 有何关系?
      帮楼主重新理了一下代码,逻辑线索更加清晰,供楼主参考。
import random

secret , times = random.randint(1,10) , 3
for x in range(times):
    guess = int(input("数字是多少:"))
    if guess == secret:
      print("答对了")
      break
    else:
      if guess > secret:
            print("大了")
      else:
            print("小了")
      if times - x > 1:
            print('再试试吧')
else:
    print("%d 次机会都用完了,不和你玩了" % times)

1252652140 发表于 2020-12-14 23:14:41

jackz007 发表于 2020-12-14 22:49
代码逻辑混乱,首先应该判断是否猜对,在猜错的情况下,才需要进一步判断是大还是小了,还有,判断 ...

谢谢啊,第一次敲,好多都不太懂
页: [1]
查看完整版本: 球求大佬帮忙,看看哪里错了