Python: Justificando a matriz NumPy
Por favor, sou um pouco novo emPython
e foi legal, eu poderia comentar que python é muito sexy até que eu precise mudar o conteúdo de uma matriz 4x4 que eu quero usar na construção de uma demo de 2048 do jogo.aqui Eu tenho essa função
def cover_left(matrix):
new=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
for i in range(4):
count=0
for j in range(4):
if mat[i][j]!=0:
new[i][count]=mat[i][j]
count+=1
return new
É assim que essa função faz se você chamar assim
cover_left([
[1,0,2,0],
[3,0,4,0],
[5,0,6,0],
[0,7,0,8]
])
Ele cobrirá os zeros à esquerda e produzirá
[ [1, 2, 0, 0],
[3, 4, 0, 0],
[5, 6, 0, 0],
[7, 8, 0, 0]]
Por favor, preciso de alguém para me ajudar com umnumpy
maneira de fazer isso, que acredito ser mais rápida e exigir menos código (estou usando em algo de pesquisa aprofundada) e, mais importante, a implementação decover_up
, cover_down
e
`cover_left`.
`cover_up`
[ [1, 7, 2, 8],
[3, 0, 4, 0],
[5, 0, 6, 0],
[0, 0, 0, 0]]
`cover_down`
[ [0, 0, 0, 0],
[1, 0, 2, 0],
[3, 0, 4, 0],
[5, 7, 6, 8]]
`cover_right`
[ [0, 0, 1, 2],
[0, 0, 3, 4],
[0, 0, 5, 6],
[0, 0, 7, 8]]
Desde já, obrigado.