Python随机数猜谜游戏退出逻辑BUG:输入0触发过低提示
解决随机数猜谜游戏的退出逻辑问题
嘿,这个问题很常见,咱们先搞明白为啥输入0会额外触发"Too low":
你的代码现在是先把输入转成整数,直接就去和答案比大小,但0是退出指令,根本不该参与大小判断——毕竟答案是1到99之间的随机数,0肯定比它小,所以每次输入0都会先打印"Too low",再退出循环,这就和你预期的不一样啦。
修正方案
咱们只需要在判断数字高低之前,先检查输入是不是0,如果是,直接跳出循环就行。修改后的代码如下:
import random answer = random.randrange(1,100) guess = 101 while int(guess) != 0 : guess = input('Enter a number between 1 and 100 or enter 0 to exit: ') guess = int(guess) # 优先处理退出指令,跳过大小判断 if guess == 0: break if guess < answer : print('Too low') elif guess > answer : print('Too high') else: print('Correct') # 猜对后直接退出游戏,不用再输入0 break print('Game closed')
额外小优化
我还加了个细节:当用户猜对答案后,直接用break跳出循环,这样用户不用再输入0才能结束游戏,体验会更顺畅~
内容的提问来源于stack exchange,提问作者llama
相关产品推荐
相关产品推荐

