Salve,
Problema: dado um ponto origem e uma lista de pontos, determinar o ponto da lista mais próximo da origem.
Para resolver o problema acima, faz diferença qual das funções a seguir utilizamos?
def dist_euclidiana(p, q): '''(tuple, tuple) -> float Recebe dois pontos p e q e retorna a distância euclidiana entre eles. ''' dist = 0 for i in range(len(p)): dist += (p[i]-q[i])*(p[i]-q[i]) return math.sqrt(dist) def dist_euclidiana_2(p, q): '''(tuple, tuple) -> float Recebe dois pontos p e q e retorna o quadrado da distância euclidiana entre eles. ''' dist = 0 for i in range(len(p)): dist += (p[i]-q[i])*(p[i]-q[i]) return dist def dist_manhattan(p, q): '''(tuple, tuple) -> float Recebe dois pontos p e q e retorna a distância de manhattan (ou l1) entre eles. ''' dist = 0 for i in range(len(p)): dist += abs(p[i]-q[i]) return dist