|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题:大了的话会一直循坏下去,
小了的话,第二次,他会把【小了,三次机会都用完了,不和你玩了】,显示出来,而不是显示小了
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)
复制代码
|
|