任务是 给定一个大小为 X 的二维数组。 你的任务是找到:
输入格式 第一行包含空格分隔的 和 值。 接下来的行包含空格分隔的整数。
输出格式 首先,打印平均值。 其次,打印 var。 第三,打印标准。
示例输入
2 2
1 2
3 4
示例输出
[ 1.5 3.5]
[ 1. 1.]
1.11803398875
我的代码:
import numpy
N,M = map(int, input().split(" "))
A = numpy.array([input().split() for _ in range(N)],int)
print(numpy.mean(A, axis = 1))
print(numpy.var(A, axis = 0))
print(round(numpy.std(A, axis = None),11))
我似乎有一些缩进问题或我的打印结果比预期的要好,数组的第一个垂直元素前面有一个空格。 我是不是做错了什么?
导入 numpy 和打印 numpy 数据之间的任何位置。它告诉 numpy 打印格式化程序使用 numpy 版本 1.13 的默认设置,而不是 numpy 版本 1.14(这是当前版本)。问题集结果是固定的,并且显然是用旧的 numpy 完成的,所以如果你不这样做,你会得到各种格式不匹配,这会导致测试失败,即使你得到了正确的实际答案。
所以使用
np.set_printoptions(legacy='1.13')
import numpy as np
n,m = map(int, input().split())
b = []
for i in range(n):
a = list(map(int, input().split()))
b.append(a)
b = np.array(b)
np.set_printoptions(legacy='1.13')
print(np.mean(b, axis = 1))
print(np.var(b, axis = 0))
print(np.std(b))
对于python3,我使用了以下代码:
import numpy
N, M = map(int, input().split())
A = numpy.array([list(map(int, input().split())) for n in range(N)])
print(numpy.mean(A, axis = 1))
print(numpy.var(A, axis = 0))
print(numpy.round(numpy.std(A), 11))
我使用了以下代码,但仍然出现错误:
import numpy as np
np.set_printoptions(legacy="1.13")
if __name__ == "__main__":
n, m = map(int, input().rstrip().split())
array = []
for i in range(n):
row = list(map(int, input().rstrip().split()))
assert len(row) == m, "Wrong input"
array.append(row)
print(np.mean(array, axis=1))
print(np.var(array, axis=0))
print(np.round(np.std(array), 11))