球求大佬帮忙,看看哪里错了
问题:大了的话会一直循坏下去,小了的话,第二次,他会把【小了,三次机会都用完了,不和你玩了】,显示出来,而不是显示小了
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: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) jackz007 发表于 2020-12-14 22:49
代码逻辑混乱,首先应该判断是否猜对,在猜错的情况下,才需要进一步判断是大还是小了,还有,判断 ...
谢谢啊,第一次敲,好多都不太懂
页:
[1]