我一直试图将一个较大数字的个别数字添加一段时间,而且我遇到了一些麻烦。我想知道是否有人可以帮助我。
例如,假设我有号码23455869654325768906857463553522367235
,我想添加所有数字。 (2 + 3 + 4 + 5 + 5 + 8 + 6...
)此外,我如何添加特定的数字,例如数字5-10(8 + 6 + 9 + 6 + 5 + 4
)。
我了解len
功能并打印字符串等部分,但没有任何内容可以轻松添加100位数字的所有数字。
有人可以帮忙吗?
答案 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])