Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/04/2014, 09:22
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [Aporte] Programa Chars-ASCII

Una idea interesante para un programa sencillo, me permito sugerirte algunas modificaciones (solamente ideas, si te interesan investiga cómo hacerlo de la mejor manera)

1. Permite leer un archivo, o desde la entrada estándar:
Código Python:
Ver original
  1. import sys
  2.  
  3. try:
  4.     input_file = open(sys.argv[1])
  5. except IndexError:
  6.     # no hay un parámetro para el programa, leer desde la entrada estándar
  7.     print 'Ingresa texto, finaliza con Ctrl-D:'
  8.     input_file = sys.stdin
  9. except IOError:
  10.     # hay un parámetro, pero no se puede abrir el archivo cuyo nombre es ese parámetro
  11.     print 'ERROR: No puedo abrir %s' % (sys.argv[1],)
  12.     sys.exit(1)
  13.  
  14. cadena = input_file.read()

De esta manera, llamando al programa como "programa.py archivo.txt" se lee archivo.txt como entrada, de lo contrario se lee la entrada estándar (en Linux, se quedará esperando que ingreses el texto, que deberá finalizar con Ctrl-D).

2. ¿por qué usas enumerate en este caso?
Código Python:
Ver original
  1. for caracter in cadena:
  2.     print "%s: %d" % (caracter, ord(caracter))
enumerate te puede servir para, además, mostrar la posición del caracter en la cadena:
Código Python:
Ver original
  1. for pos, car in enumerate(cadena):
  2.     print "%d: %s %d" (pos, car, ord(car))


Saludos.