每当我尝试运行代码时,都会显示运行时错误,该如何解决(Hackerrank)

时间:2020-05-03 16:18:23

标签: python runtime stdout eoferror

我是这里的新手,也是Hackerrank。我正在尝试解决简单的数组和问题:

Given an array of integers, find the sum of its elements.

For example, if the array , , so return .

Function Description

Complete the simpleArraySum function in the editor below. It must return the sum of the array elements as an integer.

simpleArraySum has the following parameter(s):

ar: an array of integers
Input Format

The first line contains an integer, , denoting the size of the array.
The second line contains  space-separated integers representing the array's elements.

Constraints


Output Format

Print the sum of the array's elements as a single integer.

我正在尝试找到解决方案,但到目前为止找不到解决方案,它可以在jupyter笔记本上使用。

Traceback (most recent call last):
  File "Solution.py", line 34, in <module>
    result = simpleArraySum(ar)
  File "Solution.py", line 13, in simpleArraySum
    amount=int(input())
EOFError: EOF when reading a line

在输出按钮上显示“ stdout无响应”。这是我的代码:

def simpleArraySum(ar):
    #
    # Write your code here.
    #
    amount=int(input())

    nums=list(map(int,input().split()))

    sums=0

    for i in nums:

        sums+=i

    print(sums)

3 个答案:

答案 0 :(得分:0)

您可以这样做;

def sum_array(arr):
    total = 0
    for i in arr:
        total += i
    return total

您的代码存在一些问题。

  • 您希望将数组传递给函数,但还希望用户输入值。
  • 您将输入转换为整数,但随后将输入拆分。

请注意,有许多无需编写您自己的自定义函数即可解决此问题的方法。

答案 1 :(得分:0)

这应该很好。只需复制此代码并粘贴,就可以开始:

def simpleArraySum(ar):
    #
    # Write your code here.
    #
    sums=0
    for i in nums:
        sums+=i
    return sums

amount = int(input())
nums = list(map(int,input().split()))
print(simpleArraySum(nums))

我什么也没做,只是在函数外部读取输入内容。

答案 2 :(得分:0)

这应该适合您:

amount=int(input())
nums=list(map(int,input().split()))
sums=0
for i in nums:
    sums+=i
print(sums)

问题是您只有一个问题:
1。您只需要对给定数组的所有元素求和,仅求和,就不需要读取User的输入。这就是我在其中所做的更改您的代码,然后删除所有内容并在我修改后编写代码,它们应该可以正常工作,一切都会很好。