在列表中使用整数时出现操作数错误

Operand error when using an integer in a list

我已经尝试处理此代码数小时,但每次都到达相同的点。基本上我试图将数组中的所有值相加。但是,它一直说整数和列表不受支持的操作数。我很困惑为什么这么说,因为列表由整数组成。这是在 python.

hours = [0,0,0,0,0]

i=0 
while i < 5:
    print (days[i])
    hours [i] = int(input('How many hours did you work for the day above? \n'))
    i+=1
    print('\n')
    
for x in range(len(days)):
    print('\n')
    print (days [x])
    print (hours[x])

total = 0
for x in hours:
    total += hours

以上是我认为有问题的部分代码

    total += hours
TypeError: unsupported operand type(s) for +=: 'int' and 'list'

以上是我不断收到的错误

正如 @kindall and @Ben Grossmann 正确指出的那样,您正在尝试向列表中添加一个数字:

total += hours
  • total 是整数 (total = 0)
  • hours 是一个列表 (hours = [0,0,0,0,0])

将您的代码更改为此以使其工作:

for x in hours:
    total += x

旁注:

有一种优雅的方法可以得到数字列表的总和:

total = sum(hours)

sum() 是一个 built-in 函数(它带有 Python out-of-the-box)。您可以阅读更多相关信息 here.