用Python 3.7 写了这样一个猜数字大小的游戏,代码如下:
import random
m = random.randint(1, 100)
total = 5 # 猜数字次数。
while total > 0:
n = int(input('请猜一个1到100的整数:'))
if n > m:
print('猜大了。')
total -= 1
if total == 0:
print(f'你没有机会了,接受失败的现实吧,答案是 {n} 。')
else:
print(f'你还有 {total} 次机会。')
elif n < m:
print('猜小了。')
total -= 1
if total == 0:
print(f'你没有机会了,接受失败的现实吧,答案是 {n} 。')
else:
print(f'你还有 {total} 次机会。')
else:
print(f'恭喜你,猜对啦!答案是 {n} 。')
break
运行后出现这样的问题:最后一次明明猜对了,程序却告诉我不对。
请猜一个1到100的整数:50
猜小了。
你还有 4 次机会。
请猜一个1到100的整数:70
猜大了。
你还有 3 次机会。
请猜一个1到100的整数:60
猜小了。
你还有 2 次机会。
请猜一个1到100的整数:65
猜小了。
你还有 1 次机会。
请猜一个1到100的整数:67
猜小了。
你没有机会了,接受失败的现实吧,答案是 67 。
好几次都是这样
请猜一个1到100的整数:50
猜小了。
你还有 4 次机会。
请猜一个1到100的整数:80
猜大了。
你还有 3 次机会。
请猜一个1到100的整数:70
猜大了。
你还有 2 次机会。
请猜一个1到100的整数:60
猜大了。
你还有 1 次机会。
请猜一个1到100的整数:65
猜大了。
你没有机会了,接受失败的现实吧,答案是 65 。
问题在哪里呢?