Python - Tabla de valores de un modo sencillo

   
Vista:
Imágen de perfil de Jhon B

Tabla de valores de un modo sencillo

Publicado por Jhon B ichiparanoid@gmail.com (17 intervenciones) el 19/09/2014 02:22:45
Cordial saludo:
Soy novato en programación en cualquier lenguaje (Mi experiencia se reduce a unas horas aprendiendo python). Como me gusta aprender haciendo he ido haciendo mi propio programa de cero (Algo que me sea útil además) a medida que voy conociendo herramientas.
De hecho todo mi código es variables y condicionales, no he usado funciones aún aunque espero que aparezcan en la próxima versión.
Se trata de un programa que calcula las medidas, voltajes, calibres etc para construir un transformador eléctrico (SOy cuasi técnico en electrónica... Ya casi).
Me estoy extendiendo mucho, sorry. El caso es que necesito que el programa me de unos valores que corresponden al tamaño de la formaleta del núcleo en base a una tabla de valores. Esa parte del código la hice del tipo (Me lo estoy inventando porque no tengo mi source en este equipo):

1
2
3
4
5
6
7
8
if  var>o and var<10:
    form="2*3"
if var>10 and var<20:
    form="2*4"
if var>20 and var<30:
   form="3*4"
if var>30 and var<40:
   form="3*5"

Y así sucesivamente en una lista muy larga. Pero supongo que hay formas más elegantes y prácticas de resolver eso. ¿Qué se me ocurrió? Pues basándome en lo poco que sé, pensé en un diccionario donde un valor para var me devuelva un string con el área dela formaleta que busco.
Pero al intentar hacer un diccionario del tipo dicc={range(0,10):"2*3", range(10´20):"2*4"} me da un error que creo quiere decir que toma mi rango como una lista y no puedo incluir listas en los diccionarios (No recuerdo ahora como decía el error y de antemano pido disculpas si la sintaxis del diccionario está mal porque escribí de memoria).
¿Alguien me puede dar una pista?
El programa funciona tal como está, pero si puedes tener un código más prolijo es mejor, digo yo.

Gracias de antemano.
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

Tabla de valores de un modo sencillo

Publicado por xve (1232 intervenciones) el 19/09/2014 08:47:17
Hola Jhon, lo único que se me ocurre, es que utilices una lista de listas... aunque creo que tendria que haber alaguna forma mejor, pero no la se...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
lista=[
	[0,10,"2*3"],
	[10,20,"2*4"],
	[20,30,"2*5"],
	[30,40,"2*6"],
	[40,50,"2*7"],
	[50,60,"2*8"],
	[60,70,"2*9"],
	[70,80,"2*10"]
]
 
var=47
 
for i in lista:
	if var>i[0] and var<=i[1]:
		form=i[2]
		break
 
print form

Te sirve?
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 Jhon B

Tabla de valores de un modo sencillo

Publicado por Jhon B ichiparanoid@gmail.com (17 intervenciones) el 19/09/2014 09:02:42
Pues es cuestión de probar (CUando regrese a mi laptop). Gracias por contestar.
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