You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自定义Python3猜数字游戏的输入错误提示而非系统默认错误

解决Python猜数字程序的自定义错误提示问题

当然可以搞定这个需求!你只需要用Python的异常处理机制(try-except代码块)来捕获输入转换时的ValueError,然后输出你自己的提示信息就行,不用让系统抛出默认的报错。

核心思路

把可能触发错误的代码(也就是把用户输入转成整数的int(guess))放到try块里,当转换失败时,except ValueError:分支会被触发,这时你就可以输出自定义提示,而不是让程序崩溃并显示默认的Traceback。

修改后的完整代码

import time
import random
from secrets import randbelow

guesscount = 0
print("Hey whats your name")
name = input()
number = randbelow(20)
print(f"Hi {name}! I'm thinking of a number between 0 and 19. Go ahead and guess!")

while True:
    guesscount += 1
    user_input = input("Enter your guess: ")
    
    try:
        # 尝试把输入转成整数,失败则触发ValueError
        guess = int(user_input)
        
        # 这里是你的猜数字逻辑
        if guess < number:
            print("Too low! Give it another shot.")
        elif guess > number:
            print("Too high! Try a smaller number.")
        else:
            print(f"Awesome {name}! You got it in {guesscount} tries!")
            break
    except ValueError:
        # 自定义错误提示
        print("Whoops! That's not a valid number. Please enter a numeric value.")
        guesscount -= 1  # 可选:输入错误不算一次猜测次数

关键修改说明

  • try块:包裹住可能出错的int(user_input)操作,程序会先尝试执行这里的代码。
  • except ValueError::当输入无法转换成整数时,会进入这个分支,执行你写的自定义提示。
  • 可选的guesscount -=1:如果不想把用户输入错误的情况算成一次猜测,可以减去刚才加的计数,让用户重新输入时不浪费次数。

这样用户输入字母或者非数字内容时,就会看到你设置的友好提示,而不是一堆看不懂的Traceback啦!

内容的提问来源于stack exchange,提问作者bot_diyar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:12:55