我有一个问题,我需要在哪里找到给定numArray中的元素之和。
但是我无法获得想要的输出。
numArray = map(int, input().split())
sum_integer = 0
#write your logic to add these 4 numbers here
print(sum_integer) # Print the sum
我的解决方案是
for i in range(len(numArray):
sum_integer=sum_integer+numArray[i]
我的解决方案出了什么问题?而且我无法更改输入的方式。
答案 0 :(得分:3)
您的问题是map(int, input().split())
返回的映射对象是迭代器,而不是列表。为了说明这一点,如果将其转换为列表,您的代码将起作用。
numArray = list(map(int, input().split()))
正如评论所指出的那样,还有其他更好的方法可以解决此问题。将for
循环更改为
for i in numArray:
sum_integer += i
是更好的解决方案,不会强制您输入4个数字。评论中的另一个建议就是简单地使用
print(sum(map(int, input().split())))
只需一行即可完成所有步骤。