如果第一次输入没猜对,进入else条件下的while循环了,这时候再猜对了也不会退回到if条件下了,我这里有个自己练习时候的可以参考一下,循环和条件结构灵活运用可以解决很多的问题,不过编程过程中思路清晰才是最重要的:import random
answer = random.randint(1,100)
print('------猜数字游戏------')
temp = input("猜一个1到100的数字,你一共有7次机会:")
while not temp.isdigit():
print('输入不合法,请按要求输入一个1到100的整数。')
temp = input('请输入一个1到100的数字:')
guess = int(temp)
i = 0
while guess != answer and i < 6:
if guess > answer:
print('大了')
else:
print('小了')
i = i + 1
j = 7 - i
print('猜错了,你还剩余的机会是:'+str(j)+'次')
temp = input("猜错了,再试试?:")
while not temp.isdigit():
print('输入不合法,请按要求输入一个1到100的整数。')
temp = input('请输入一个1到100的数字:')
guess = int(temp)
if guess != answer:
print('游戏失败!'+'正确结果是:'+str(answer))
else:
print('猜对了')
print("游戏结束")
|