Python3递归求和整数的数字

时间:2012-11-07 16:43:17

标签: 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()

谢谢

1 个答案:

答案 0 :(得分:6)

非常短的版本:

def sumdigits(value):
    return value and (value % 10 + sumdigits(value // 10))

value and部分使其返回零,而不是在超过最后一位数后无限递归。

value % 10部分获取最后一位数字(“那些”位置)。

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

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