如何添加大数字的数字?

时间:2014-03-26 01:52:22

标签: python

我一直试图将一个较大数字的个别数字添加一段时间,而且我遇到了一些麻烦。我想知道是否有人可以帮助我。

例如,假设我有号码23455869654325768906857463553522367235,我想添加所有数字。 (2 + 3 + 4 + 5 + 5 + 8 + 6...)此外,我如何添加特定的数字,例如数字5-10(8 + 6 + 9 + 6 + 5 + 4)。

我了解len功能并打印字符串等部分,但没有任何内容可以轻松添加100位数字的所有数字。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

将其视为字符串,sum个别数字。如果需要,可以切片。

sum(map(int,str(12345)))
Out[183]: 15

sum(map(int,str(12345)[1:3]))
Out[184]: 5

答案 1 :(得分:1)

作为比sum()更详细的方法只需获取字符串中的每个字符,将其设为数字​​并添加。

total = 0                          #Have total number
bigNumber = str(45858383)          #Convert our big number to a string
for number in bigNumber:           #for each little number in our big number
    total = total + int(number)    #add that little number to our total
print(total)                       #Print our total

如果你只想做某些事情:

total = 0                           #Have total number
bigNumber = str(123456789)          #Convert our big number to a string
startPlace = 2                      #Start
endPlace = 4                        #End
for i in xrange(startPlace,endPlace):    #have i keep track of where we are, between start and end
    total = total + int(bigNumber[i])    #Get that one spot, and add it to the total
print(total)                       #Print our total

答案 2 :(得分:1)

另一种选择是使用build in list([iterable])函数

bigNumber = '23455869654325768906857463553522367235'
print sum(int(x) for x in list(bigNumber))
print sum(int(x) for x in list(bigNumber)[5:11])