以下代码如何处理整数和?

时间:2019-07-14 15:26:06

标签: python python-3.x

我有一个问题,我需要在哪里找到给定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]

我的解决方案出了什么问题?而且我无法更改输入的方式。

1 个答案:

答案 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())))

只需一行即可完成所有步骤。