Python3 Recursivley整数的和数

pyt*_*ack 3 python recursion python-3.x

我需要帮助实现一个函数,它将取整数的数字并将它们加在一起.只要sumDigits函数实现递归,它就是有效的,并且main函数必须保持原样.我将在下面添加一个模板:

def sumdigits(value): 
    #recursively sum digits 

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

main()
Run Code Online (Sandbox Code Playgroud)

谢谢

agf*_*agf 6

非常短的版本:

def sumdigits(value):
    return value and (value % 10 + sumdigits(value // 10))
Run Code Online (Sandbox Code Playgroud)

value and部分使其返回零而不是一旦超过最后一位数就无限递归.

value % 10部分获得最后一位数字("那些"位置).

sumdigits(value // 10)得到所有的数字的总和,除了最后一位数

// 是整数除法,自动扔掉结果的小数部分为您服务.