заполнена числами и нулями, нули подразумевают свободные места.
нужно сместить все числа в матрице которые больше нуля по оси Х вниз т.е. X=8
не нашёл как это сделать стандартными функциями, написал свою.
но остался один момент, чтобы отсортировались все числа, нужно вызывать функцию несколько раз.
как сделать так чтобы она сама делала это нужное количество раз?
вот листинг:
# -*- coding: cp1251 -*-
import numpy as np
matrix1 = np.array([[0, 0, 2, 0, 0, 0, 5],
[1, 0, 1, 0, 0, 3, 0],
[0, 2, 0, 1, 0, 0, 0],
[0, 1, 0, 0, 1, 1, 0],
[0, 0, 0, 1, 0, 4, 0],
[0, 1, 1, 0, 0, 0, 0],
[6, 0, 0, 0, 5, 0, 0],
[0, 1, 0, 0, 0, 0, 0],])
def matrix_move():
for x in range(7, 0, -1):
for y in range(7):
if matrix1[x][y] == 0:
if matrix1[x-1][y] > 0:
matrix1[x][y] = matrix1[x-1][y]
matrix1[x-1][y] = 0
return matrix1
matrix_move()