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