将一个数字的各个位数相加

107

如果我想找到一个数的数字之和,例如:

  • 输入:932
  • 输出:14,即 (9 + 3 + 2)

怎样最快地实现这个功能呢?

我的本能反应是:

sum(int(digit) for digit in str(number))

我在网上找到了这个:

sum(map(int, str(number)))

哪种方法最适合用于速度,还有其他更快的方法吗?

11个回答

-2

你也可以尝试使用内置函数divmod();

number = int(input('enter any integer: = '))
sum = 0
while number!=0: 
    take = divmod(number, 10) 
    dig = take[1] 
    sum += dig 
    number = take[0] 
print(sum) 

您可以输入任意数量的数字


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接