3

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

def sumdigits(value): 
    #recursively sum digits 

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

main()

谢谢

4

1 回答 1

6

一个非常简短的版本:

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

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

value % 10部分获得最后一位数字(“个”位置)。

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

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

于 2012-11-07T17:18:10.363 回答