我有一个 8x10 矩阵,里面有一些方块:
no = [(2,4),(3,4),(6,4),(7,4),(2,5),(3,5),(6,5),(7,5)]
我需要弄清楚两点之间的最短(曼哈顿)路径是否作为嵌套元组(如 ((0,5),(6,2)) 提供给此函数)包含任何块,并围绕它重新路由.
现在要做到这一点,我试图以应用为欧氏距离的作品,要看到,如果逻辑Ç是之间的界限一和乙通过增加从距离一到Ç从距离Ç到乙,看它是否等于A到B,但我不相信数学...
def manhattan_dist(move): #order doesn't matter
a = move[0][0]
b = move[0][1]
c = move[1][0]
d = move[1][1]
mandist = abs(a-c)+abs(b-d)
if (any (abs(a-box[0])+abs(b-box[1])) == (mandist-(abs(c-box[0])+abs(d-box[1]))) for box in no):
print("blocked")
#calculate go-around logic
return mandist
它打印 "blocked" for manhattan_dist(((0,1),(0,7))),所以我知道我在 python 中也做错了。
呼啦一阵风
有只小跳蛙
相关分类