Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中获取数字和_Python - Fatal编程技术网

如何在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平心而论,我认为每个人都理解这一点,但对缺乏研究成果的看法却不以为然。