繁体   English   中英

python中的递归函数来查找数字的位数之和

[英]Recursive function in python to find the sum of digits of number

我想对函数使用递归算法,它应该打印出给定数字的所有数字的总和。

这是我的代码。 例如, sum_of_digits(343) 将返回 10 的输出。

numbers = [1, 2]
def sum_of_digits(n):
    for n in

sum_of_digits(343)    

我试图实现的输出:10

如果您必须使用递归,一种方法是通过用10 n进行修改并将其添加到剩余数字的总和(由sum_of_digits(n // 10)计算)来获取单个数字:

def sum_of_digits(n):
    if n < 10:
        return n
    return (n % 10) + sum_of_digits(n // 10)

print(sum_of_digits(343))

输出:

10
def sum_of_digits(n):
    result = 0
    for x in str(n):
        result += int(x)
    return result

sum_of_digits(343) # 10

这个最简单的解决方案怎么样:

number = 343

sum_of_digits = sum(map(int, str(number)))
print(sum_of_digits)
10

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM