一段时间以来,我一直试图把一个较大数字的单个数字相加,现在我遇到了一些麻烦。我想知道是否有人能帮我。
例如,假设我有数字23455869654325768906857463553522367235
,我想要添加所有的数字。(2 + 3 + 4 + 5 + 5 + 8 + 6...
)此外,我如何添加特定的数字,例如,数字5-10 (8 + 6 + 9 + 6 + 5 + 4
)。
我知道len
函数和打印字符串部分之类的内容,但是没有任何东西可以轻松地将100+数字的所有数字单独相加。
有人能帮忙吗?
发布于 2014-03-26 01:57:38
作为一种比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
发布于 2014-03-26 01:57:14
将其视为字符串,并对单个数字进行sum
。如果你需要的话可以切。
sum(map(int,str(12345)))
Out[183]: 15
sum(map(int,str(12345)[1:3]))
Out[184]: 5
发布于 2014-03-26 02:18:22
另一种选择是使用内置列表(迭代)函数。
bigNumber = '23455869654325768906857463553522367235'
print sum(int(x) for x in list(bigNumber))
print sum(int(x) for x in list(bigNumber)[5:11])
https://stackoverflow.com/questions/22650008
复制相似问题