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

如何校验输入为正整数?添加校验后Python代码无法运行求解

问题解决

你的代码存在两个核心问题,导致添加正整数校验后无法运行:

  • 变量未定义:你直接在moudle函数参数里转换输入,但没把值赋值给x、y变量,后续print语句会触发NameError。
  • 缺少正整数校验逻辑:原代码仅做了int类型转换,没有判断数值是否为正,需要手动添加校验并抛出异常。

修正后的代码如下:

while True:
    try:
        # 先获取输入并转为int,保存到变量
        x = int(input('x:'))
        y = int(input('y:'))
        # 校验是否为正整数,不满足则手动抛出异常
        if x <= 0 or y <= 0:
            raise ValueError("必须输入正整数")
        # 调用目标函数
        A, B = moudle(x=x, y=y)
        print(f'The x is {x}')
        print(f'The y is {y}')
        break
    except ValueError as e:
        print(f"输入错误:{e}。请重试...")

关键说明:

  • 先将输入转换为int并赋值给变量,避免后续打印时的变量未定义错误。
  • 添加正整数判断逻辑,不满足条件时主动抛出ValueError,统一用except块处理所有输入异常。
  • 用f-string替代字符串拼接,代码更简洁易读。
  • 捕获异常时打印具体错误信息,让用户明确知道问题所在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:05:13