使用for和while循环迭代2D numpy数组

时间:2019-08-19 09:37:27

标签: python numpy

该代码的目标是执行以下操作:

  1. 接受整数用户输入

  2. 创建一个1的numpy数组,其中包含许多行和列

  3. 使用范围函数创建一维数组,该数组的元素数等于数组的大小。

  4. 依次将2D数组的每个元素与1D数组的元素相乘。

  5. 打印最终数组。

我尝试使用for和while循环对矩阵的不同位置进行迭代。

size = int(input("Enter the matrix size:"))
one_matrix = np.ones((size, size), dtype=int)
y = np.size(one_matrix)
range_matrix = np.arange(1, y + 1)  
i = 0
for i in range(size):
    j = 0
    while j > 2:
        one_matrix[i][j] = range_matrix[i + j]
        j += 1
    i += 1

我得到的输出为:

全1代替1,2,3,.... 9

1 个答案:

答案 0 :(得分:0)

while条件永远不会满足

  

j = 0

然后是

  

而j> 2

您可以考虑以下解决方案:

Foo