Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: jam man en 19 Septiembre 2015, 22:01 pm



Título: Ayuda!!!
Publicado por: jam man en 19 Septiembre 2015, 22:01 pm
Hola estoy haciendo un programa en python que haga como un tipo cifrado de cualquier palabra o frase que se ingrese desde teclado. Mi codigo es este:
Código
  1. texto = raw_input ("Palabra a cifrar: ").lower()
  2. diccionario = {'a':'aa', 'b':'ab', 'c':'ac', 'd':'ad', 'e':'ae',
  3.               'f':'ba', 'g':'bb', 'h':'bc', 'i':'bd', 'j':'bd',
  4.               'k':'be', 'l':'ca', 'm':'cb', 'n':'cc', 'ñ':'cc',
  5.               'o':'cd', 'p':'ce', 'q':'da', 'r':'db', 's':'dc', 't':'dd',
  6.               'u':'de', 'v':'ea', 'w':'eb', 'x':'ec', 'y':'ed', 'z':'ee'}
  7. textoleet = ''
  8. for v in texto:
  9.        if v in diccionario.keys():
  10.                textoleet += diccionario[v]
  11.        else:
  12.                textoleet +=v
  13. print(textoleet)
  14.  

ya hace lo primero que tiene que hacer que es leer la palabra ingresada pero ahora el problema es invertirlo, es decir que desde el teclado se ingrese ya la frase cifrada y que me imprima la palabra correspondiente.

De antemano gracias.


Título: Re: Ayuda!!!
Publicado por: ivancea96 en 19 Septiembre 2015, 22:25 pm
Empiezas desde el principio de la cadena, y buscas los valores del cifrado en la cadena. Al encontrarlos, pones en su lugar la clave.

Es lo mismo que hiciste ahora, pero al revés. Además, hay que tener la precaución de que la cadena sea una cadena cifrada. por ejemplo, si encuentras una 'z', la cadena es erronea, ya que es imposible que haya una 'z' en una cadena cifrada. ¿Me entiendes?

Incluso si no haces la comprobación, solo es eso, ir intercambiando. En vez de letra a letra, de 2 en 2.


Título: Re: Ayuda!!!
Publicado por: jam man en 19 Septiembre 2015, 22:30 pm
bueno entiendo esa parte de que ahora se hace lo contrario, pero mi duda es de que si pyhton lee dos letras a la vez, es decir que si por ejemplo ingreso una "aa" y que me imprima la letra "a" que es el valor que corresponde a la clave "aa" y si al ingresar un texto mas largo se pueda descifrar.


Título: Re: Ayuda!!!
Publicado por: simorg en 19 Septiembre 2015, 23:27 pm
@jam man

No está permitido publicar el mismo post en distintos foros simultaneamente.

Los otros han sido eliminados.

Los titulos tienen que ser descriptivos del problema, "Ayuda", no lo es, modificalo.

El codigo debe utilizar las etiquetas GeSHi


Leete las Reglas del Foro. No podias infringir más normas en menos tiempo. :P



Saludos.


Título: Re: Ayuda!!!
Publicado por: jam man en 19 Septiembre 2015, 23:58 pm
@simorg disculpa no sabía, soy nuevo en ésto. Pero gracias por comentarlo.


Título: Re: Ayuda!!!
Publicado por: engel lex en 20 Septiembre 2015, 00:44 am
usa el bottón modificar en el primer tema para cambiar el titulo y colocale un titulo descriptivo a la problematica


Título: Re: Ayuda!!!
Publicado por: tincopasan en 20 Septiembre 2015, 00:53 am
una forma muy simple de tomar cada 2 caracteres de la palabra cifrada
Código
  1. palabra="ceeedbdbcd"
  2. final=2
  3. inicio=0
  4. while final <len(palabra)+2:
  5.    print(palabra[inicio:final])
  6.    final+=2
  7.    inicio+=2


Título: Re: Ayuda!!!
Publicado por: jam man en 20 Septiembre 2015, 06:15 am
Muchas gracias.  :D