2024-10-01 11:23:47 发布
网友
我需要帮助实现一个函数,这个函数将把整数的位数相加。只要sumdights函数实现递归,它就有效,main函数必须保持原样。我将包括以下模板:
def sumdigits(value): #recursively sum digits def main(): number=int(input(“Enter a number : ”)) print(sumdigits(number)) main()
谢谢你
一个非常简短的版本:
def sumdigits(value): return value and (value % 10 + sumdigits(value // 10))
value and部分使它返回零,而不是在超过最后一个数字后无限递归。在
value and
value % 10部分得到最后一个数字(“一”位)。在
value % 10
sumdigits(value // 10)获取除最后一个数字外的所有数字的总和
sumdigits(value // 10)
//是整数除法,会自动丢弃结果的小数部分。在
//
一个非常简短的版本:
value and
部分使它返回零,而不是在超过最后一个数字后无限递归。在value % 10
部分得到最后一个数字(“一”位)。在sumdigits(value // 10)
获取除最后一个数字外的所有数字的总和//
是整数除法,会自动丢弃结果的小数部分。在相关问题 更多 >
编程相关推荐