Python - Modificar el siguiente codigo y agregar mas opciones

 
Vista:
sin imagen de perfil

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder