Boa tarde, no meu código ele informa o seguinte erro:
TypeError Traceback (most recent call last)
<ipython-input-48-c8b8c735e831> in <cell line: 6>()
8 distancia_rota = calcular_distancia(rota)
9
---> 10 if distancia_rota < menor_distancia :
11 menor_distancia = menor_rota
12 menor_rota = rota
TypeError: '<' not supported between instances of 'float' and 'NoneType'
código:
def desenhar_rota(rota):
tamanho_rota = len(rota)
distancia_percorrida = 0
for i in range(tamanho_rota):
x,y = rota[i]
cor = "black"
if i == 0:
cor = "blue"
elif i == tamanho_rota - 1:
cor = "red"
plt.scatter(x,y, color = cor)
if i < tamanho_rota - 1:
x1,y1 = rota[i+1]
dx = x1 - x
dy = y1 - y
plt.arrow(x,y, dx,dy, color = "black", head_width = 0.1)
distancia_percorrida = distancia_percorrida + distancia_euclidiana(rota[i], rota[i+1])
--------------------------------------------------------------------------------------------------------------------------------------------------------
plt.title(f"Rota com distância de {round(distancia_percorrida,2)}")
plt.show()
origem = (0,0)
destino = (4,4)
enderecos = [(2,2), (2,1), (5,3), (8,3)]
rota = [origem] + enderecos + [destino]
desenhar_rota(rota)
----------------------------------------------------------------
def calcular_distancia(rota):
distancia = 0
tamanho_rota = len(rota)
for i in range(tamanho_rota):
if i < tamanho_rota - 1:
distancia = distancia + distancia_euclidiana(rota[i], rota[i+1])
return distancia
from itertools import permutations
menor_distancia = float('inf')
menor_rota = None
for permutacao in permutations(enderecos):
rota = [origem] + list(permutacao) + [destino]
distancia_rota = calcular_distancia(rota)
if distancia_rota < menor_distancia :
menor_distancia = menor_rota
menor_rota = rota
print(menor_rota, menor_distancia)
desenhar_rota(menor_rota)
poderia me ajudar?