У меня есть словарь под названием «местоположения». Функция, которую я пишу для словаря, настроена в формате (d, description, current), где «d» ссылается на словарь, «описание» ссылается на строку, описывающую местоположение, которое мы ищем, и «текущие» ссылки на то мы в настоящее время находимся в словаре как пара координат (x, y).Навигация по словарю в Python
В принципе, каждое местоположение имеет несколько позиций в словаре, каждый со своей собственной координатой, и моя цель - найти ближайшую позицию к тому, где мы сейчас находимся в словаре (текущем). Стратегия заключается в использовании формулы расстояния для ее расчета.
Например, если бы мы искали ближайшую заправочную станцию, и мы были в состоянии (2,2), функция должна была возвращать (3,1) для ближайшей станции, если две станции находились в (3,1) и (1,4), поскольку (3,1) ближе к (2,2). Любые рекомендации по моему текущему коду будут оценены.
Код:
def closest(d, description, current):
current_location = (x, y)
d = {(3,1):'gas', (1,4):'gas', (2,1):'food', (5,5):'food'}
distancesFromCurrent = [distanceFormula(z, current_location) for z in places]
for z in d:
if z < minimum float:
return z
Мой текущий код не имеет ошибок, но, безусловно, не работает должным образом. Он просто возвращает 0,0, и я не уверен, как я могу исправить это, чтобы вернуть координаты ближайшего местоположения к нашей текущей позиции.
не дают переменные одноименные функции .. – Olian04
Спасибо за указание, что из просто фик его – n00bprogrammer22
я хочу добавить, я думаю, что проблема определения местоположения ближайшего местоположения. Как-то я думаю, что я должен использовать строку описания, чтобы найти ее, но не знаю, как это будет сделано. – n00bprogrammer22