我尝试在Python中实现一个函数,该函数将一个整数列表作为输入,并返回列表中所有偶数的总和。我编写了以下代码,但当我尝试运行它时,它给了我一个错误。
def sum_evens(numbers):
result = 0
for num in numbers:
if num % 2 == 0:
result += num
return result
print(sum_evens([1, 2, 3, 4, 5]))
我收到的错误消息是:
TypeError: unsupported operand type(s) for +=: 'int' and 'str'.
有人能帮助我了解为什么会出现此错误以及如何修复它吗?
2条答案
按热度按时间4ngedf3f1#
您的代码在我的计算机上运行良好。但是,根据您的错误信息推测,
num
一定是字符串。您可以通过事先将其转换为整数来修复此问题:ljsrvy3e2#
使用列表理解概念的另一个替代方案(功能范式):