En que se basa el programa para asignar una letra a otra?
He estado mirando relaciones y no encuentro ninguna entre:
q= h
w= o
e= l
r= a
i= q
o= u
t= e
y= t
u= l
Un saludo
EDITO: He buscado en san google, y no he visto esas asignaciones si no otras y no hay precisamente pocas :S
Bueno, siguiendo la sustitución de wikipedia aquí te dejo esto:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
class caesar_cipher:
def cipher(self):
self.dic_let = {'a':'d','b':'e','c':'f','d':'g','e':'h','f':'i','g':'j','h':'k','i':'l',
'j':'m','k':'n','l':'o','m':'p','n':'q','o':'r','p':'s','q':'t','r':'u','s':'v','t':'w','u':'x','v':'y',
'w':'z','x':'a','y':'b','z':'c'}
print "Inserte la cadena a cifrar"
self.cadena = raw_input("Cadena>")
for self.letra in self.cadena:
if self.letra == self.letra.upper():
print self.dic_let[self.letra.lower()],
else:
print self.dic_let[self.letra],
if __name__ == '__main__':
print "1-Cifrar o 2-descifrar?"
eleccion = input(">")
if eleccion == 1:
os.system("clear")
t = caesar_cipher()
t.cipher()
elif eleccion ==2:
os.system("clear")
t = caesar_cipher()
t.uncipher()
En python sería algo así.
Falta declarar la función uncipher (no lo he hecho yo porque me tengo que ir
) y para mejorar sería mejor guardar el diccionario en un archivo de texto para hacer más liviano el poco código que hay.
Un saludo