Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Príncipe_Azul en 28 Marzo 2014, 05:41 am



Título: [Aporte - Python] Programa Chars-ASCII
Publicado por: Príncipe_Azul en 28 Marzo 2014, 05:41 am
Hola a todos!!

Bueno hoy voy a aportar un programa bastante útil que les servirá si desean saber el código ASCII de algún caracter, ya sea letra, número o símbolo, esto es muy útil porque muchas veces necesitamos trabajar con chrs.
El programa es sencillo, lo ejecutan y escriben un texto, número o símbolo, puede ser el largo que quieran, por ejemplo una frase.
También pueden ir los caracteres mezclados (letras, números, símbolos).
Aquí dejo un ejemplo de su uso:

Código:
Escribi un texto o letra: hola amigos
 h 104
 o 111
 l 108
 a 97
   32
 a 97
 m 109
 i 105
 g 103
 o 111
 s 115

Escribi un texto o letra: ¿Como estan?
 ¿ 168
 C 67
 o 111
 m 109
 o 111
   32
 e 101
 s 115
 t 116
 a 97
 n 110
 ? 63

Escribi un texto o letra: Nos vemos, suerte!
 N 78
 o 111
 s 115
   32
 v 118
 e 101
 m 109
 o 111
 s 115
 , 44
   32
 s 115
 u 117
 e 101
 r 114
 t 116
 e 101
 ! 33

Lo que dice "Escribi un texto o letra:" es el mensaje del programa, lo que está después de ese mensaje es lo que deben escribir y lo que está a la izquierda son los caracteres de la frase que escribieron y a la derecha su código ASCII!!!!
Por las dudas, el código ASCII del espacio (hecho con la barra espaciadora) es el char 32.

Aquí está el código:

Código
  1. # -*- coding: utf-8 -*-
  2. # Programa Chars-ASCII - Creado con Python 2.7.5
  3. # Autor: Daniel Delgado - Nick:(Príncipe_Azul)
  4.  
  5. def Caracteres():
  6.    Cadena = raw_input("\nEscribi un texto o letra: ")
  7.    if "salir!!" != Cadena:
  8.        for Caracter in enumerate(Cadena):
  9.            print " " + Caracter[1], ord(Caracter[1])
  10.        Caracteres()
  11.    else:
  12.        exit()
  13.  
  14. Caracteres()

El programa tiene un bucle en la misma función que no se lo ve (aparte del for), osea no se lo ve como for ni while, pero es un bucle que siempe llama a su misma función, esto lo hice así para no tener que estar abriendo el programa a cada rato.
Para salir del programa, osea para que la consola se cierre, deben escribir el comando:

salir!!

en minúsculas y con los 2 signos de exclamción al final.

Aquí pueden ver el mismo ejemplo pero en modo gráfico desde la consola:

http://subefotos.com/ver/?899445f659f853aa380ba9b5dbfaecf0o.jpg

Espero que les sirva.
Hasta luego.


Título: Re: [Aporte - Python] Programa Chars-ASCII
Publicado por: nalu4 en 8 Diciembre 2018, 15:28 pm
... 4 años y 9 meses después...

Mismo programa con pequeñas variantes pero en python 3.6  ;D .


Código
  1. def caracteres():
  2.    cadena = input('Escriba un texto o letra: ')
  3.    if 'salir' !=  cadena:
  4.        for caracter in enumerate(cadena):
  5.            print ('' + caracter[1], ord(caracter[1]))
  6.        caracteres()
  7.  
  8.    else:
  9.        print('hasta pronto ;)')
  10.  
  11. print ('Programa que muestra el valor ASCII de un caracter o caracteres que tu me das.')
  12. print ('Para terminar escriba \"salir\".')
  13.  
  14. caracteres()



Título: Re: [Aporte - Python] Programa Chars-ASCII
Publicado por: tincopasan en 9 Diciembre 2018, 01:33 am
bueno ya que reabris este post
Código
  1.    def caracteres():
  2.        cadena = input('Escriba un texto o letra: ')
  3.        if 'salir' !=  cadena:
  4.            for caracter in enumerate(cadena):             #¿qué sentido tiene usar enumerate?
  5.                print ('' + caracter[1], ord(caracter[1]))   # escribes de más en vez de buscar lo simple
  6.            caracteres()                                              #¿qué tiene de malo usar while?      
  7.  
  8.        else:
  9.            print('hasta pronto ;)')
  10.  
  11.    print ('Programa que muestra el valor ASCII de un caracter o caracteres que tu me das.')
  12.    print ('Para terminar escriba \"salir\".')               #usar dos print para líneas consecutivas ???
  13.                                                                           #¿para qué \?  sino es necesario  
  14.    caracteres()
  15.  

lo mismo:

Código
  1. def caracteres():
  2.    cadena = input('Escriba un texto o letra: ').lower()  #por las dudas ingresen alguna mayúsculas
  3.    while cadena != "salir":
  4.        for caracter in cadena:
  5.            print (caracter, ord(caracter))
  6.        cadena = input('Escriba un texto o letra: ').lower()
  7.  
  8. print ('''Programa que muestra el valor ASCII de un caracter o caracteres que tu me das
  9.             Para terminar escriba "salir"  ''')
  10. caracteres()
  11. print('hasta pronto ;)')
  12.