我需要帮助实现一个函数,该函数将取整数的数字并将它们加在一起。只要sumDigits函数实现递归,它就是有效的,并且main函数必须保持原样。我将在下面添加一个模板:
def sumdigits(value):
#recursively sum digits
def main():
number=int(input(“Enter a number : ”))
print(sumdigits(number))
main()
谢谢
答案 0 :(得分:6)
非常短的版本:
def sumdigits(value):
return value and (value % 10 + sumdigits(value // 10))
value and
部分使其返回零,而不是在超过最后一位数后无限递归。
value % 10
部分获取最后一位数字(“那些”位置)。
sumdigits(value // 10)
获取除最后一位数之外的所有数字的总和
//
是整数除法,会自动丢弃结果的小数部分。