Python 2 - 在列表中汇总数字

时间:2015-10-30 10:25:58

标签: python-2.7

我正在尝试一个涉及在循环中对数字求和的练习题。我认为以下代码可行,但我的回答是错误的。有任何想法吗??

sortedList = map(int, "283 889 22 352 744 969 40 1248 309 197 1274 630 1040 1161 1040 338 486 295 202 914 778 428 405 483 662 363 1139 968 943 820 481 1217 408 493 268 1143 161 299 1090 461 486 1064 1081".split())

sum = 0
for number in sortedList:
    sum += sortedList.pop

print sum

1 个答案:

答案 0 :(得分:0)

您的代码出错,您忘记了函数pop的括号:

for number in sortedList:
    sum += sortedList.pop()

请注意,您也可以使用函数sum

sum(sortedList)

但由于您使用了变量sum,因此无法使用此功能。

编辑1 :就像jonrsharpe评论一样,你的方法实际上是错误的!您正在使用for浏览列表,但同时您正在弹出(即获取和删除最后一项),这就是您的答案错误的原因:14866而不是28074.

您可以使用我提到的sum功能或执行:

s = 0
for number in sortedList:
    s += number

或使用pop:

s = 0
while sortedList:
    s += sortedList.pop()