Python - Problema con variables

   
Vista:

Problema con variables

Publicado por Rafael (8 intervenciones) el 01/06/2016 15:22:12
Buenos días,

Tengo un problema con python que no logro solucionar. He leído posts y cursos sobre el tema y no entiendo que hago mal:

Intento hacer un calculo de volumen en dos posiciones (rotando los ejes x,y z). El problema es que como las variables largo, ancho y alto se declaran al principio, su valor se mantiene obteniendo dos veces el mismo resultado.

Esto es una forma simple de expresarlo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
x = 1
y = 2
z = 3
 
def divi():
    a = 1 / largo
    b = 2 / ancho
    c = 3 / alto
    sol = a * b * c
    return sol
 
largo = x
ancho = y
alto = z
sol = divi()
print (sol)
 
#Rotar el sistema (cambiando el orden de los ejes)
largo = y
ancho = x
alto = z
sol = divi()
print (sol)


¿Que hago mal?

Un saludo y gracias.
Estoy intentando
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Problema con variables

Publicado por xve (1230 intervenciones) el 02/06/2016 00:57:45
Hola Rafael, en la segunda definición de las variables, hay una variación...

largo = y... en la primera declaración tienes puesto largo=x
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con variables

Publicado por Rafael (8 intervenciones) el 02/06/2016 01:07:12
Buenas,

Precisamente eso pretendo, ejecutar la funcion divi primero con:
X Y Z
y luego rotando (matematicamente) el objeto a Y X Z

Un saludo y gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio Roman

Problema con variables

Publicado por Mauricio Roman (9 intervenciones) el 02/06/2016 03:25:10
hola rafael bueno leyendo tu problema me causa duda cuando mandas a llamar el metodo div

porque segun yo tienes que pasarle los parametros

1
sol = div(largo, ancho, alto)


tambien podrias intentar esto


1
2
3
4
5
6
7
8
9
10
11
12
largo = x
 
ancho = y
 
alto = z
 
 
largo = ancho
 
ancho = largo
 
alto = z
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con variables

Publicado por Rafael (8 intervenciones) el 09/06/2016 15:12:32
Solucionado!! En realidad es bastante sencillo, hay que hacer el cambio en una función definida, no en el código una y otra vez, de este modo la función devuelve las variables en el orden deseado (no se si se entiende).

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar