首页 > 解决方案 > 将多位数字相加直到返回单个数字的函数

问题描述

我需要帮助编写一个 python 脚本来求和一个多位数字,直到剩下一个数字。所以任何等于或大于 10 的数字。

例如,该程序将接受 10 并返回 1。

数字 1 - 9 应该作为错误返回,0 应该作为 0 返回。不是 int 的条目也应该返回错误。

我已经编写了多个版本,但我似乎无法让它按照我想要的方式工作。

这是我正在使用的一些代码:

  def SumDig(n):
    n = []
   if(not isinstance(n, int)) or (n <= 9) or (n >= 1):
      return ("Error")
   elif(n >= 10):
      return (n - 1) % 9 + 1;
   return SumDig(n)

标签: python

解决方案


你不需要它是递归的:

def sumDigits(N):
    if N is 0: return 0
    if not isinstance(N,int) or N < 10: return "error"
    return (N-1)%9+1

推荐阅读