我对hackerbank的这段代码做错了什么



我一直在为HackerBank编写这个问题,遇到了很多问题。这个问题被称为"加减法",我在Python 3中做这件事。方向是开着的https://www.hackerrank.com/challenges/plus-minus/problem.我尝试了很多东西,结果显示"stdout没有响应"。我想正在返回一个none类型。这是代码。:

def plusMinus(arr):
p = 0
neg = 0
z = arr.count(0)
no = 0
for num in range(n):
if arr[num] < 0:
neg+=1
if arr[num] > 0:
p+=1
else:
no += 1
continue
return p/n

以下是问题:

1( 表示数组长度的变量n需要传递给函数plusMinus

2( 不需要维护额外的变量no,因为您已经计算了零计数。因此,我们可以消除额外的else条件。

3( 不需要使用continue语句,因为该语句后面没有代码。

4( 函数需要打印值,而不是返回值。

为了便于理解,请查看以下正确命名变量的代码:

def plusMinus(arr, n):
positive_count = 0
negative_count = 0
zero_count = arr.count(0)
for num in range(n):
if arr[num] < 0:
negative_count += 1
if arr[num] > 0:
positive_count += 1
print(positive_count/n)
print(negative_count/n)
print(zero_count/n)
if __name__ == '__main__':
n = int(input())
arr = list(map(int, input().rstrip().split()))
plusMinus(arr, n)

末尾的6位小数也需要:

Positive_Values = 0
Zeros = 0
Negative_Values = 0
n = int(input())
array = list(map(int,input().split()))
if len(array) != n:
print(f"Error, the list only has {len(array)} numbers out of {n}")
else:
for i in range(0,n):
if array[i] == 0:
Zeros +=1
elif array[i] > 0:
Positive_Values += 1
else:
Negative_Values += 1
Proportion_Positive_Values = Positive_Values / n
Proportion_Of_Zeros = Zeros / n
Proportion_Negative_Values = Negative_Values / n
print('{:.6f}'.format(Proportion_Positive_Values))
print('{:.6f}'.format(Proportion_Negative_Values))
print('{:.6f}'.format(Proportion_Of_Zeros))

相关内容

最新更新