作者:狗血饭团联_367 | 来源:互联网 | 2022-12-04 09:25
我想从用户输入矩阵的值n
和元素生成一个*n 矩阵.
以下是代码:
n=int(input("Enter the matrix size"))
import numpy as np
#initialise nxn matrix with zeroes
mat=np.zeros((n,n))
#input each row at a time,with each element separated by a space
for i in range(n):
for j in range(n):
mat[i][j]=input()
print(mat)
但我得到这样的输出
[[1. 2.]
[3. 4.]]
用一个.(点)在我不想要的数字之后.有没有办法通过使用循环和数组来获得这个NumPy
?
1> Sheldore..:
你几乎接近了.您只需dtype=int
在将矩阵初始化为时将数据类型声明为
mat=np.zeros((n,n), dtype=int)
然后你就不会有点而已
[[1 2]
[3 4]]
2> 小智..:
这是因为np.zeros
默认情况下会将其值分配给float
.要更改替换行:
mat=np.zeros((n,n))
有:
mat=np.zeros((n,n), dtype=int)
它会为您提供所需的输出.
同样好的做法是使用已help()
使用的方法,知道可以用它们做什么,就像在这个例子中一样.