Python3递归整数的和位数
我需要帮助实现一个函数,将采取整数的数字和他们一起。只要sumdights函数实现递归,它就是有效的,并且主函数必须保持原样。我将在下面提供一个模板: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(值)
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)