Я пытаюсь вычислить манхэттенское расстояние для 8-головоломки с A *.Я понимаю, что делаю что-то не так с тем, как сравниваю текущие позиции с целью, но я не могу точно понять, что я делаю неправильно (я довольно плохо знаком с питоном).Пожалуйста, помогите.
def manhattan_distance(self, goal):
dist = 0
x = 0
y = 0
goal = [(0, 0), (1, 0), (2, 0),
(0, 1), (1, 1), (2, 1),
(0, 2), (1, 2), (2, 2)]
for row in range(len(self.board)):
for col in range(len(self.board)):
val = self.board[row][col]
if val != 0:
for x, y in goal:
dist += abs(row - x) + abs(col - y)
return dist
Я не получаю никакого сообщения об ошибке, он просто продолжает поиск по узлам.