Python3递归整数的和位数

2024-10-01 11:23:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要帮助实现一个函数,这个函数将把整数的位数相加。只要sumdights函数实现递归,它就有效,main函数必须保持原样。我将包括以下模板:

def sumdigits(value): 
    #recursively sum digits 

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

main()

谢谢你


Tags: 函数模板numberinputvaluemaindef整数
1条回答
网友
1楼 · 发布于 2024-10-01 11:23:47

一个非常简短的版本:

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

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

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

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

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

相关问题 更多 >