RE: [Python-es] De nuevoenvio el programa con algunos cambios y nuevas dudas

Hernan Martinez Foffani hernan en orgmf.com.ar
Vie Mayo 24 11:24:17 CEST 2002


> Hernan (me dirijo a el porque es el que me estaba ayudando), como podras 
> ver en el codigo, ahora he usado los diccionarios, como me dijiste pero 
> no he sabido como abrebiar el codigo mas de lo que esta. Tambien 
> comentaste que lo podias poner en dos lineas, en resumen: ?Alguien 
> sabria como abrebiarlo?

primero una aclaracion. dije que se podria resumir en un "par de lineas"
que en argentino no equivale exactamente a dos, puede ser un poquito mas.
(mis disculpas por el localismo) :-D
aclaro que no se trata de una competencia por menos lineas de codigo, eh?
solo era una invitacion a que pruebes nuevas caracteristicas de python.

prueba cambiando la estructura de datos, usando como indice de busqueda
el dato ingresado. por ejemplo:
   d_codigos = { 606: "Amena", 607: "Movistar", 608: "Amena",
               ... etc ... }

no hace falta tipear todo el diccionario asi, puedes crearlo una vez
al comienzo del programa usando la lista de codigos que ya tienes.


> Aparte, esta linea funciona:
> 
>   if len(numero) != 9: print "El numero debe tener al menos 9 caracteres"
> 
> Pero si ejecuto mvlcheck 666 por ejemplo, da error, si excedo los 9 
> caracteres tambien da error en lugar de hacer el print. ?Por que? ?Como 
> arreglarlo?

como ya Chema lo modifico en su version faltaba la asignacion de argv[1]
a numero.

insisto con mi recomendacion de uar parametros de funciones. ej:
  def mvlchk(numero):
en este caso el error lo hubieras detectado facilmente.
cuando tengas que depurar programas grandes con muchas variables
globales lo recordaras. ;-)

con respecto a
  name == "__main__"
lee con atencion los mensajes de Chema y Miquel.

Saludos,
-Hernan





Más información sobre la lista de distribución Python-es