i = int(i) 试试
你的numbers列表中的数字是 数 还是 字符串,即 是 123 还 '123'?
int(i) 目的是转换,要用 i = int(i)
如真不是数字的列表,那sum(numbers)也要报错的
测试如下:
>>> numbers = ['123','111']
>>> sum(numbers)
Traceback (most recent call last):
File "<pyshell#188>", line 1, in <module>
sum(numbers)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> sum(map(eval,numbers))
234
可用 sum(map(eval,numbers)) 转一下就能累加总和了。