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

square函数错误排查:输入数值返回平方,非数值返回None

问题分析与修复

现有代码存在两个核心错误:

  • 逻辑完全偏离需求:用奇偶判断决定返回值,奇数直接返回None,这和“数值类型返回平方”的要求完全不符;就算是偶数,返回的x**x是x的x次方,并非平方(平方是x**2)。
  • 缺少类型校验:没有判断输入是否为整数/浮点数,不满足“非数值类型返回'None'”的要求。

修复后的代码

def square(x):
    # 判断输入是否为整数或浮点数类型
    if isinstance(x, (int, float)):
        return x ** 2
    # 非数值类型返回字符串"None"
    return "None"

print(square(5))      # 输出:25
print(square("test")) # 输出:None
print(square(2.5))    # 输出:6.25

关键说明

  • 用isinstance(x, (int, float))精准校验输入类型,覆盖整数和浮点数场景
  • 平方运算用x**2或x*x均可,效果一致
  • 非数值类型直接返回字符串"None",严格匹配需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 01:05:45