我在我的大学里注册了一个初级班。我们有一项编程任务,我一直在做。你知道吗
我们的任务是在地图的两点之间找到一条路线,地图是一个2D numpy数组。 第一个任务之一是将由自由道路(1)和建筑物(0)组成的数组转换为一个数组,其中建筑物周围的所有位置(左、右、下、上)都转换为停车位(-1)
我首先编写了一个函数来生成一个大小合适的2D numpy数组:
def get_map():
map = np.random.randint(2, size=(12, 10))
return map
现在我想编写另一个函数,将map作为参数,并返回停车位从1转换为-1的map
def adjusted_map(map):
map_adjusted =
return map_adjusted
我主要是停留在0的上面和下面的元素上。左右我都可以,因为这与1D数组或普通列表、字符串等没有什么不同。 如果这是一个愚蠢的问题,我很抱歉,但是我查看了numpy文档中关于索引、切片和迭代numpy数组的内容,但是我找不到解决问题的方法。你知道吗
下面是使用标准numpy技术的一种简单方法:
1)绘制一张由3x3个街区和80%道路组成的地图
2)反转贴图并将其归零
3)切掉反转地图的移位版本(上、下、左、右),使用(按位)
or
查找建筑物的所有邻居,使用and
仅保留道路上的邻居4)在地图上标出停车位
5)奖励:美观
所以你需要这样的东西:
相关问题 更多 >
编程相关推荐