El programa de prefijo (otra vuelta de tuerca)
Manuel Durán Aguete
manuel.duran en quantumgap.com
Vie Mayo 24 14:43:18 CEST 2002
Hola,
Como recomendacion yo le daria la vuelta al diccionario,
por ejemplo: companies = { "PREFIJO1": Operador, ....... } de este modo
te evitarias el bucle "for company in companies.keys()" y lo podrias
sacar directamente.
Saludos.
El vie, 24-05-2002 a las 13:53, jileon en parcan.es escribió:
> Hola, he visto la pregunta de como hacer el programa de los
> prefijos más cortos usando dicionarios, y he hecho algunas
> modificaciones en ese sentido, además de "pythonizar" un poco
> más el programa, p.e. en vez de usar un mensaje de error, el
> programa ahora eleva una excepción, y alguna otra tontería.
> Espero que le sirva a alguien. Un saludo a todos.
>
> -------------------------------------------------------
> #!/usr/bin/env python
>
> # Programa que devuelve la compañía del número de tlf. móvil que
> # introduzcamos. Sé que es una tontería y el código sencillo
> pero a algún
> # novato (como yo) le servirá. Los prefijos los tenía de hace
> tiempo, la
> # lista NO está actualizada. Muchísimas gracias a la lista de
> python de
> # Aditel por la ayuda prestada :) Alfredo (rkt en ifrance.com)
>
> import sys, string
>
> companies = { "Movistar" : string.split("606 608 609 616 619 620
> 626 629 630 636 639 646 649 650 659 660 669 676 679 680 686 689
> 690 696 699"),
> "Vodafone" : string.split("600 607 610 617 627 666 667 670
> 677 678 687"),
> "Amena" : string.split("651 652 653 654 655 656 657 658")
> }
>
> def mvlchk(numero):
> if len(numero) != 9:
> raise TypeError("El número debe tener al menos 9
> carácteres")
> prefijo = numero[0:3]
> for company in companies.keys():
> if prefijo in companies[company]:
> print "El número introducido pertenece a %s" %
> company
> break
> else:
> print "Los carácteres introducidos no son números o
> es un número no válido"
>
> if __name__ == '__main__':
> if len(sys.argv) == 2:
> mvlchk(sys.argv[1])
> else:
> print """
> No hombre, se usa así:
> mvlcheck NUMERO
> -
> Ejemplo: mvlcheck 666555444
> """
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo.py/python-es
>
Más información sobre la lista de distribución Python-es