Другое сообщение было отредактировано за 12 минут с этими изменениями до того, как вы опубликовали это сообщение.
уйста, я немного новичок вPython
и это было здорово, я мог бы прокомментировать, что python очень сексуален, пока мне не нужно было сдвигать содержимое матрицы 4x4, которую я хочу использовать при создании демо-версии игры 2048 года.Вот У меня есть эта функция
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
Это то, что делает эта функция, если вы называете это так
cover_left([
[1,0,2,0],
[3,0,4,0],
[5,0,6,0],
[0,7,0,8]
])
Он покроет нули слева и произведет
[ [1, 2, 0, 0],
[3, 4, 0, 0],
[5, 6, 0, 0],
[7, 8, 0, 0]]
Пожалуйста, мне нужен кто-то, чтобы помочь мне сnumpy
способ сделать это, который я считаю, будет быстрее и потребует меньше кода (я использую в алгоритме поиска в глубину) и, что более важно, реализациюcover_up
, cover_down
а также
`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]]
Заранее спасибо.