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

Python中Try-except异常处理实现纯数字输入校验求助

解决仅允许输入纯数字的Try-except实现问题

你的代码存在几个问题:

  • 输入错误时直接终止循环,无法让用户重新输入
  • 异常触发后变量x未被定义,后续打印会抛出NameError
  • 未指定具体异常类型,会捕获所有意外异常

以下是修正后的实现,实现仅接受纯数字输入,错误时提示并让用户重新输入,输入正确后退出循环的逻辑:

while True:
    try:
        # 尝试将输入转为整数,非纯数字会触发ValueError
        x = int(input("请输入你的手机号以获取验证码: "))
        # 输入正确则退出循环
        break
    except ValueError:
        # 仅捕获输入无法转为整数的异常,避免捕获其他意外错误
        print("注意!请输入纯数字,不允许字母或符号")

# 循环退出后执行这里,说明输入正确
print(f"你输入的手机号是: {x}")

关键说明:

  • 指定捕获ValueError:只有当输入无法转换为整数时才触发,避免捕获其他无关异常(比如键盘中断KeyboardInterrupt)
  • 输入正确时执行break退出循环,错误时不退出,继续让用户输入
  • 确保x只有在赋值成功后才会被打印,避免未定义错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 16:20:33