python问题 此函数要将二维数组中第二行第一列的元素上下左右移动
如题,此move函数要将二维数组中第二行第一列的元素上下左右移动我设计了一个motions数组表示移动【0,0】不动【0,1】右移,【1,0】下移,【0,-1】左移......
如题,此move函数要将二维数组中第二行第一列的元素上下左右移动我设计了一个motions数组表示移动【0,0】不动【0,1】右移,【1,0】下移,【0,-1】左移...
现在单独执行【0,1】成功,执行【【0,0】,【0,1】】移动了两步,有问题。请大神帮忙看看是什么问题
我初步怀疑是p数组没有更新
move函数的输入是p数组,motions;输出是aux数组表示移动后的数组
p=[[0,0,0],
[1,0,0],
[0,0,0]]
motions = [[0,0],[0,1]]
#p_move=1.0
#p_stay=1.0-p_move
def move(p,motion):
aux=[[0.0 for row in range(len(p[0]))] for col in range(len(p))]
for m in range(len(motions)):
for i in range(len(p)):
for j in range(len(p[i])):
aux[i][j]=p[(i-motions[m][0])%len(p)][(j-motions[m][1])%len(p[i])]
show(aux)
return aux
def show(p):
for i in range(len(p)):
print(p[i])
for k in range(len(motions)):
p=move(p,motions[k])
show(p) 展开
现在单独执行【0,1】成功,执行【【0,0】,【0,1】】移动了两步,有问题。请大神帮忙看看是什么问题
我初步怀疑是p数组没有更新
move函数的输入是p数组,motions;输出是aux数组表示移动后的数组
p=[[0,0,0],
[1,0,0],
[0,0,0]]
motions = [[0,0],[0,1]]
#p_move=1.0
#p_stay=1.0-p_move
def move(p,motion):
aux=[[0.0 for row in range(len(p[0]))] for col in range(len(p))]
for m in range(len(motions)):
for i in range(len(p)):
for j in range(len(p[i])):
aux[i][j]=p[(i-motions[m][0])%len(p)][(j-motions[m][1])%len(p[i])]
show(aux)
return aux
def show(p):
for i in range(len(p)):
print(p[i])
for k in range(len(motions)):
p=move(p,motions[k])
show(p) 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询