0 votos
por (20 puntos) en Python

Hola, Soy bastante nuevo en el tema, Estoy tratando de programar la matriz de Mannhatan sin ninguna librería (Debo realizarla así), al ejecutar el código genera la matriz (Ver al final), pero lo que sucede es que no he podido acomodar las variables x,y,z y o en una matriz, como ven en el código quiero hacerlo con matrix[] y que me genere un orden especifico, que pasa? .... que desarrolle este ejemplo pero si necesito más vectores en la matriz me toca a mano colocarla, como podría automatizarla?   Gracias por su ayuda...

#### DistManhattan

x=[1,2,3,4,5]

y=[2,2.5,3.2,2,2]

z=[2,5,3,2.1548,1]

o=[-2.2,-2.5,-5.3,2.1548,1]

matrix=[[x,y,z,o],[y,z,o,x],[z,o,x,y],[o,x,y,z]]

m=4

Salida=[[None for _ in range(m)] for _ in range(m)]

n=len(matrix)

for i in range(0,n):

    for j in range(0,n):

        dist=0

        a=matrix[i][0]

        b=matrix[0][j]

        for k in range(0,len(a)):

            dif=a[k]-b[k]

            if dif<0:

                dif=dif*-1

                dist=dist+dif

                Salida[i][j]=dist

            else:

                dist=dist+dif

                Salida[i][j]=dist

            #print (dist)

for i in range(n):

    print(Salida[i][:])

#Resultado matriz en diagonal

[0, 6.7, 9.8452, 21.8452] 

[6.7, 0.0, 3.8548, 18.854799999999997] 

[9.8452, 3.8548, 0.0, 20.0]

 [21.8452, 18.854799999999997, 20.0, 0.0]

Por favor, accede o regístrate para responder a esta pregunta.

Preguntas relacionadas

0 votos
0 respuestas
0 votos
0 respuestas
0 votos
2 respuestas
0 votos
1 respuesta
preguntado por mine77 (20 puntos) Ene 28, 2016 en Java
0 votos
1 respuesta
preguntado por pequis23 (20 puntos) Ene 28, 2016 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...