我该如何对一个函数给出的数字求和?像这样:def sum (123)
我怎样才能使python sum 123使用while给出6?
def calc_soma(num):
ns = str(num)
soma = 0
while soma < len(ns):
soma = eval(ns[soma])
soma = soma + 1
return soma
我试过了,但是没有用。我是python的新手,所以我没有很多东西
您soma
用来保存索引和结果。这是修改后的版本:
>>> def calc_soma(num):
... ns = str(num)
... soma = 0
... indic = 0
... while indic < len(ns):
... soma += int(ns[indic])
... indic = indic + 1
... return soma
...
>>> calc_soma(123)
6
>>> calc_soma(1048)
13
如果要遍历str
,可以使用列表推导:
>>> sum([int(i) for i in str(123)])
6
>>> sum([int(i) for i in str(2048)])
14
您也可以摆脱[/]
:
sum(int(i) for i in str(123))
(另外,检查barak manos的答案。您可以“数学上”做到这一点)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句