在列表中添加整数

时间:2015-12-11 04:42:51

标签: python

我正在尝试添加最初在字符串中的整数(例如num = "657647")。

我通过使用for循环并转换其中的每个人将整数转换为int。

结果是一个清单?认为这是6 5 7 6 4 7,每个数字都在新的一行上。

起初我觉得它是一个我可以迭代的列表,但显然不是。

这是我想要做的示例代码:

def addingNumbers(string):
  double_numbers =""
  theSum = 0

  for i in range(0,7) :
    convertingInt = int(string[i])
    theSum += convertingInt
    print theSum

如果我输入字符串8101818,我希望总和只有27,而是打印以下内容:

>>> addingNumbers("8101818")
8
9
9
10
18
19
27

我知道问题是代码是单独添加以前的数字,但我希望它只是一个总数,所以在我的情况下27.

我该怎么做?

4 个答案:

答案 0 :(得分:2)

  

如果我输入字符串8101818,我希望总和只是27

在python中,缩进很重要。

def addingNumbers(string):
  double_numbers =""
  theSum = 0

  for i in range(0,7) :
    convertingInt = int(string[i])
    theSum += convertingInt
  print theSum

从上面的代码中删除了打印行的缩进级别,它应该按照您的预期工作。

答案 1 :(得分:1)

实现目标的一行可以这样做:

a = "8101818"
print sum(map(int,a))

答案 2 :(得分:0)

如果你想修改你的代码,你可以尝试下面,但Hooting给出的是非常pythonic,

str = "8101818"

for i in str:
    sum = sum + int(i)

print sum
27

答案 3 :(得分:0)

您的打印件位于循环内部,因此每次打印都会打印出来。尝试将其从循环中删除它将起作用。