如何在python中获取数字和
假设我有如何在python中获取数字和,python,Python,假设我有 num = 123456 我如何得到数字和,即21?如何使用sum()函数?我尝试了sum(num),但它表示'int'对象不可编辑。您必须先将其更改为字符串: In [24]: num = 123456 In [25]: sum(int(x) for x in str(num)) Out[25]: 21 不转换为字符串: def solve(n): summ=0 while n: summ+= n%10 n/=10 ret
num = 123456
我如何得到数字和,即21?如何使用sum()函数?我尝试了sum(num),但它表示'int'对象不可编辑。您必须先将其更改为字符串:
In [24]: num = 123456
In [25]: sum(int(x) for x in str(num))
Out[25]: 21
不转换为字符串:
def solve(n):
summ=0
while n:
summ+= n%10
n/=10
return summ
....:
In [38]: solve(123456)
Out[38]: 21
单向:
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
这个怎么样:
def f(num):
result = 0
base = 10
pos = 10
while pos <= num*base:
prev = pos/base
result = result + int( (num % pos)/ prev)
pos = pos*base
return result
def(num):
结果=0
基数=10
位置=10
而pos您可以这样做:
sum(map(int,list(str(num)))) #sum contains your digits string
str(num)返回数字的字符串版本,list(…)使用字符串(逐字符)创建一个列表,map(int,string)对列表应用整数转换。现在,您的列表包含数字的所有单整数,因此您可以使用sum()函数。您是指数字和吗?如果是,请将其添加到标题中,因为仇恨者会否决你,否则…sum适用于列表等可编辑对象。字符串也恰好是可编辑的(有点像字符列表)。数字只是一回事。如果你想对不同的数字列表求和,你会希望num
类似于[1,2,3,4,5,6]
,这是一个你想求和的数字列表。@MentohlBonbon是的,这就是我的意思。谢谢@AlexaElis我讨厌人们因为不理解而否决问题them@MentohlBonbon平心而论,我认为每个人都理解这一点,但对缺乏研究成果的看法却不以为然。