请问我对Python
有点新,它一直很好,我可以评论说Python是非常性感的,直到我需要移动我想用于构建2048游戏的4x4矩阵的内容游戏的试玩here我有这个功能Python:理由NumPy数组
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]]
在此先感谢。
这与['other post']基本相同(https://stackoverflow.com/a/4455 9180/3293881),除了你有四个条件语句。这里有什么新东西? – Divakar
签名是不同的,而且他修改了他的答案......它不是像 –
之前那样的签名?一个输入参数有四个输入选项,所以有四个条件语句。另一篇文章对两个输入参数有两个输入选项。基本上是一样的。 – Divakar