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

编写Python脚本实现多位数逐位求和直至得到单个数字

原代码错误点梳理
  • 函数首行执行n = []直接覆盖了输入的参数,后续所有判断逻辑的判断对象都变成了空列表,完全失效
  • 输入校验逻辑完全错误:原判断条件(n <= 9) or (n >= 1)会误判所有合法输入,且未单独处理输入为0的情况
  • 末尾的递归调用属于无效代码,永远不会被触发
  • 语法层面存在缩进错误,原代码的if语句缩进和上一行不一致,运行会直接报错
修正后实现代码
def SumDig(n):
    # 非int类型直接返回错误
    if not isinstance(n, int):
        return "Error"
    # 输入为0的特殊处理规则
    if n == 0:
        return 0
    # 1-9的数字返回错误
    if 1 <= n <= 9:
        return "Error"
    # 大于等于10的数字用数根公式计算,结果等价于逐位求和到单个数字
    return (n - 1) % 9 + 1
功能验证测试用例
  • SumDig(10) → 返回1,符合需求示例
  • SumDig(0) → 返回0,符合规则
  • SumDig(7) → 返回Error,符合规则
  • SumDig("123") → 返回Error,符合规则
  • SumDig(1234) → 1+2+3+4=10→1+0=1,返回1,结果正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:48:02