Python3递归整数的和位数

Python3递归整数的和位数,python,recursion,python-3.x,Python,Recursion,Python 3.x,我需要帮助实现一个函数,将采取整数的数字和他们一起。只要sumdights函数实现递归,它就是有效的,并且主函数必须保持原样。我将在下面提供一个模板: def sumdigits(value): #recursively sum digits def main(): number=int(input(“Enter a number : ”)) print(sumdigits(number)) main() 谢谢非常简短的版本: def sumdights(值)

我需要帮助实现一个函数,将采取整数的数字和他们一起。只要sumdights函数实现递归,它就是有效的,并且主函数必须保持原样。我将在下面提供一个模板:

def sumdigits(value): 
    #recursively sum digits 

def main():
    number=int(input(“Enter a number :  ”))
    print(sumdigits(number))

main()
谢谢

非常简短的版本:

def sumdights(值):
返回值和(值%10+sumdights(值//10))
值和
部分使其返回零,而不是在超过最后一位后无限递归

值%10
部分获取最后一位数字(“一”位)

sumdights(value//10)
获取除最后一个数字之外的所有数字的总和


/
是整数除法,自动丢弃结果的小数部分。

@J.F.Sebastian(在Python中)有什么好处?此外,对于这种特殊情况,他可能不允许更改函数签名。谢谢,感谢您的解释@agf:这是对你答案的补充,而不是批评。在Python中,将使用非递归解决方案,例如
sum(map(int,str(number))
(问题是关于递归的家庭作业,而不是Python)