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

Python3.9实现三项规则输入验证器 现有代码问题排查

Python 3.9 输入校验修复方案

原有代码核心问题

  • except ValueError or int(n) > 100 语法错误:Python的except子句仅支持接收异常类型,不能直接追加数值判断逻辑,原有写法会导致大于100的判断完全不生效
  • 数值校验位置错误:大于100的判断需要在输入成功转换为整数之后执行,不能和异常捕获逻辑混写
  • 浮点数校验逻辑未生效:输入浮点数格式内容时int()转换会抛出ValueError,但因except写法错误无法正常捕获

修复后完整代码

import random

name = input("先生,请输入您的姓名:\n")
print(f"你好,{name}!")
print("\n\n\n## 这是一个猜数字游戏,你需要猜测一个介于0到你选择的上限数字之间的数。##")
print("\n\n请输入上限数字,不要选太大的数哦:")
n = input()
verifier = 5
while True:
    try:
        verifier = int(n)
        # 数值大小校验
        if verifier > 100:
            print("不行哦,不允许输入大于100的数字,也不能输入浮点数或字符串,请重新输入:")
            n = input()
            continue
        # 校验通过跳出循环
        break
    except ValueError:
        print("不行哦,不允许输入大于100的数字,也不能输入浮点数或字符串,请重新输入:")
        n = input()
        continue

# 后续猜数字逻辑可在此处继续编写

校验规则覆盖说明

  • 字符串输入校验:输入非数字格式的字符串时,int(n)转换抛出ValueError,触发错误提示
  • 浮点数输入校验:输入带小数点的浮点数(如12.3、99.0)时,int(n)无法直接转换,同样抛出ValueError触发提示
  • 数值大小校验:转换为整数成功后立即判断是否超过100,不符合要求直接提示重新输入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:57:02