首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将一个大数的数字相加?

如何将一个大数的数字相加?
EN

Stack Overflow用户
提问于 2014-03-26 01:52:21
回答 3查看 63关注 0票数 0

一段时间以来,我一直试图把一个较大数字的单个数字相加,现在我遇到了一些麻烦。我想知道是否有人能帮我。

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

我知道len函数和打印字符串部分之类的内容,但是没有任何东西可以轻松地将100+数字的所有数字单独相加。

有人能帮忙吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-26 01:57:38

作为一种比sum()更冗长的方法,只需获取字符串中的每个字符,就可以使其成为一个数字并添加它。

代码语言:javascript
运行
复制
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

如果你只想做某些地方:

代码语言:javascript
运行
复制
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
票数 1
EN

Stack Overflow用户

发布于 2014-03-26 01:57:14

将其视为字符串,并对单个数字进行sum。如果你需要的话可以切。

代码语言:javascript
运行
复制
sum(map(int,str(12345)))
Out[183]: 15

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

Stack Overflow用户

发布于 2014-03-26 02:18:22

另一种选择是使用内置列表(迭代)函数。

代码语言:javascript
运行
复制
bigNumber = '23455869654325768906857463553522367235'
print sum(int(x) for x in list(bigNumber))
print sum(int(x) for x in list(bigNumber)[5:11])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22650008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档