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