我创建一个程序,该程序获取输入分数,将它们添加到列表中,并使用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)
答案 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)