RE: [Python-es] De nuevo envío el programa con algunos cambios y nuevas dudas

Chema Cortes chemacortes en wanadoo.es
Vie Mayo 24 06:26:41 CEST 2002


Hola, Alfredo:

En tu código, la función mvlchk() tienes dos bloques if. El primero
comprueba que la longitud del número sea la correcta, pero no hay nada que
evite ejecutar el segundo if.

A parte de esto, el uso del __main__ está mal hecho. La idea es que chequees
el nombre del módulo (variable __name__). Cuando __name__ sea "__main__" te
estará indicando que el código ha sido llamado directamente desde la línea
de comandos (o sea, que el módulo no ha sido "importado" desde otro módulo).

En cuanto a lo de usar diccionarios...en fin, cada cual tiene sus gustos. Te
pongo cómo arreglaría tu código. Es algo confuso, pero paciencia que al
final se entiende.

Fíjate dónde he colocado el "import sys", sólo necesario cuando se llama al
módulo desde la línea de comandos.

Un detalle más: he puesto un subrayado en el nombre del diccionario. Esto
hace que esta variable particular de nuestro módulo quede oculta cuando lo
importas. No tiene demasiada relevancia, casi es un "capricho estético" :-)

Saludos,
--
Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 8.0
ZARALINUX http://www.zaralinux.org | La ignorancia se apodera de quien
PYTANDO http://pytando.sf.net | se contenta con lo que sabe



--------- Original message --------
From: "Alfredo" <rkt en ifrance.com>
To: "python-es en aditel.org" <python-es en aditel.org>
Subject: [Python-es] De nuevo envío el programa con algunos cambios y nuevas
dudas
Date: 05-24-02 03:47

Hola a todos. Adjunto el programa que he envié anteriormente, ahora con
algunos cambios.
Hernan (me dirijo a él porque es el que me estaba ayudando), como podrás
ver en el código, ahora he usado los diccionarios, como me dijiste pero
no he sabido como abrebiar el código más de lo que está. También
comentaste que lo podías poner en dos líneas, en resumen: ¿Alguien
sabría como abrebiarlo?
Aparte, esta línea funciona:

if len(numero) != 9: print "El número debe tener al menos 9 carácteres"

Pero si ejecuto mvlcheck 666 por ejemplo, da error, si excedo los 9
carácteres también da error en lugar de hacer el print. ¿Por qué? ¿Cómo
arreglarlo?

En un principio creo que está todo, lo siento si me expresé mal pero ya
son muchas horas despierto y en breve me voy a la cama.
Como siempre, se aceptan sugerencias. Gracias a todos y un saludo:

Alfredo - rkt en ifrance.com

------------ próxima parte ------------
An embedded and charset-unspecified text was scrubbed...
Name: mvlcheck2.py
URL: <http://mail.python.org/pipermail/python-es/attachments/20020524/7714a72d/attachment.ksh>


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