查找列表中所有数字的总和 - python

时间:2013-10-01 22:36:51

标签: python list addition

我创建一个程序,该程序获取输入分数,将它们添加到列表中,并使用for循环将它们全部添加到一起显示总数。但是遇到一些问题。看看吧..

scoreList = []
count = 0
score = 0
sum = 0
while score != 999:
    score = float(input("enter a score or enter 999 to finish: "))
    if score > 0 and score < 100:
        scoreList.append(score)
    elif (score <0 or score > 100) and score != 999:
        print("This score is invalid, Enter 0-100")
else:
    for number in scoreList:
        sum = sum + scoreList
print (sum)

1 个答案:

答案 0 :(得分:9)

问题很简单:

for number in scoreList:
    sum = sum + scoreList

如果您想在scoreList中添加每个号码,则必须添加number,而不是scoreList

for number in scoreList:
    sum = sum + number

否则,您尝试将整个列表一次又一次地添加到sum,每个值一次。这会引发TypeError: unsupported operand type(s) for +: 'int' and 'list' ...但实际上,可以做什么,这可能是你想要的。


更简单的解决方案是使用内置的sum函数。当然这意味着你需要一个不同的变量名,所以你不要隐藏这个功能。所以:

total_score = sum(scoreList)