
Modificar el siguiente codigo y agregar mas opciones
Publicado por ivan (2 intervenciones) el 04/11/2016 03:40:56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# -*- coding: utf-8 -*-
def main():
opcion=raw_input("Ingrese C para Codificación o D Decodificación ")
cadena=raw_input("Ingrese cadena ")
if opcion.upper()=="C":
codificar(cadena)
elif opcion.upper()=="D":
decodificar(cadena)
else:
print "Opción invalida"
d = {"A":"01", "B":"02","C":"03","D":"04","E":"05","F":"06","G":"07","H":"08","I":"09","J":"0A","K":"0B","L":"0C","M":"0D","N":"0E",'\xc3':"0","O":"10","P":"11","Q":"12","R":"13","S":"14","T":"15","U":"16","V":"17","W":"18","X":"19","Y":"1A","Z":"1B"," ":"1C",'\x91':"F",'\xb1':"F",'Ñ':"0F", "1":"1D", "2":"1E","3":"1F","4":"20","5":"1D",}
#funcion codificar recibe como argumento la cadena ingresada en el main
#inicializamos codificador como una cadena
#ciclo for para cada elemento en la cadena
#codificamos concatenando el valor anterior + el valor obtenido del diccionario (upper es para pasar todo a mayusculas)
#imprimimos el valor codificado
def codificar(cadena):
codificado = ''
for elemento in cadena:
codificado=codificado+(d[elemento.upper()])
print codificado
#funcion decodificar recibe como argumento la cadena ingresada en el main
#inicializamos decodificador como una arreglo
#inicializamos el iterador del ciclo mientras
#en el ciclo mientras vamos hasta la longitud de la cadena ingresada (len)
#se añade a la última posición de decodificado el valor actual y el valor siguiente de la cadena en la posición elemento para organizarlos por pares
#se aumenta cada dos posiciones
#imprimir el vector sirve como debug
#inicializamos el decodificador
#ciclo for para cada elemento en la cadena ya preparada por pares
#decodificamos concatenando el valor anterior + el valor obtenido del diccionario
#imprimimos el valor decodificado
def decodificar(cadena):
decodificado = []
elemento=0
while elemento < len(cadena):
decodificado.append(cadena[elemento]+cadena[elemento+1])
elemento+=2
print decodificado
decode=""
for e in decodificado:
decode=decode+ d.keys()[d.values().index(e)]
print decode
main()
Valora esta pregunta


0