我想说
num = 123456
Run Code Online (Sandbox Code Playgroud)
如何获得21的数字和?如何使用sum()函数?我尝试了sum(num)但它说'int'对象不可迭代.
Ash*_*ary 13
您必须先将其更改为字符串:
In [24]: num = 123456
In [25]: sum(int(x) for x in str(num))
Out[25]: 21
Run Code Online (Sandbox Code Playgroud)
无需转换为字符串:
def solve(n):
summ=0
while n:
summ+= n%10
n/=10
return summ
....:
In [38]: solve(123456)
Out[38]: 21
Run Code Online (Sandbox Code Playgroud)
单程:
In [1]: num=123456
In [2]: sum(map(int,str(num)))
Out[2]: 21
In [3]: def digitsum(x):
...: return sum(map(int,str(x)))
...:
In [4]: digitsum(num)
Out[4]: 21
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16916 次 |
| 最近记录: |