【发布时间】:2019-11-17 13:34:51
【问题描述】:
挑战是
给定一个整数数组,计算其元素的分数 是正数、负数和零。打印十进制值 每个分数都换行。
这是我的代码:
#!/bin/python3
import math
import os
import random
import re
import sys
# Complete the plusMinus function below.
def plusMinus(arr):
l = len(arr) #get length of the array
p = 0 #positive ints
n = 0 # negative ints
z = 0 # zeroes
for i in range(0, len(arr)):
if arr[i] > 0: #check if num is positive
p = p+1
elif arr[i] < 0: #check if num is negative
n = n+1
else: z = z+1 #check if num is zero
return p/l, n/l, z/l
if __name__ == '__main__':
n = int(input())
arr = list(map(int, input().rstrip().split()))
plusMinus(arr)
由于某种原因,它说我的输出是
~stdout 没有响应~
所以我尝试将函数放在这样的打印函数中:
print(plusMinus(arr))
它确实输出了挑战的正确答案,但我猜这不是hackerrank期望的正确格式,它说输出是:
(0.5, 0.3333333333333333, 0.16666666666666666)
代替:
0.500000 0.333333 0.166667
我做错了什么?提前致谢。
【问题讨论】:
-
您是否尝试过对答案进行四舍五入以符合预期输出?
标签: python