[ Foro de Python ]

modificaciones a un programa

02-Nov-2016 03:40
Invitado (luisa)
0 Respuestas

esta son las modificaciones
1 Crear una función que permita que el programa invierta la palabra antes de codificarla. Ejemplo: a: 000, b: 001, c: 010, d: 011, e: 100... z: 101, al transmitir la palabra "cabeza" el código debe ser: 000101100001000010

2 Crear una función llamada CodificarParcialmente, el cual permite que el programa codifique sólo las primeras 2 letras. Ejemplo: transmitir la palabra cabeza, el código sería 010000beza, adicionalmente crear la función DecodificarParcialmente al recibir el código 010000beza debe devolver la palabra original "cabeza". Estás dos nuevas funciones deben hacer uso de las funciones existentes permitiendo tener la menor cantidad de líneas de código posibles

3 Crear una función que sólo codifique la letra más repetida en el texto de entrada. Ejemplo: al transmitir "cabeza" con esta función el código sería c000bez000

PROGRAMA

letters = [ '\n', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y','z', ' ']
translate = [ '\n','aa', 'ab', 'ac', 'ad', 'ae', 'ba', 'bb', 'bc', 'bd', 'be', 'ca', 'cb', 'cc', 'cd', 'ce', 'da', 'db', 'dc', 'dd', 'id', 'de', 'ea', 'eb', 'ec', 'ie', 'ed', 'ee', 'ii']
def codificar(mensaje):
mensaje = mensaje.lower()
codificado = ""
for i in mensaje:
codificado += translate[letters.index(i)]
return codificado


def decodificar(mensaje):
codificado = ""
contador = 0

for i in range(0, (len(mensaje) /2)):
j = mensaje[contador]+mensaje[contador+1]
codificado += letters[translate.index(j)]
contador+=2
return codificado


       
dec = 0

while(dec != 3):
       dec =int(raw_input("Digite 1. Para codificar o 2. para decodificar 3. para salir: "))
       
       if(dec == 1):
               mensaje = raw_input("Digite el mensaje para codificar: ")
               print (codificar(mensaje))
       elif(dec == 2):
               mensaje = raw_input("Digite el mensaje para decodificar: ")
               print (decodificar(mensaje))
               
       else:
               dec = 3
       




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)