有人可以解释为什么hackerrank不接受此python代码吗?
def plusMinus(arr):
positive = "{0:.6f}".format(sum(1 for i in arr if i > 0) / len(arr))
negative = "{0:.6f}".format(sum(1 for i in arr if i < 0) / len(arr))
zero = "{0:.6f}".format(sum(1 for i in arr if i == 0) / len(arr))
return "\n".join([positive, negative, zero])
它给了我这个错误:~ no response on stdout ~
答案 0 :(得分:1)
您会注意到,在HackerRank上,您的函数被调用,而没有对返回值做任何事情。模板代码如下:
if __name__ == '__main__':
n = int(input())
arr = list(map(int, input().rstrip().split()))
plusMinus(arr)
此外,描述内容如下:
在每个行上打印每个分数的十进制值。
因此,您应该打印结果。而且由于您的代码无法打印任何内容,因此可能会出现错误消息。
执行以下操作,而不是return
:
print("\n".join([positive, negative, zero]))