s2Eva_IIT2012_T2 Cifrado César

Ejercicio: 2Eva_IIT2012_T2 Cifrado César

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IIT2012_T2 Cifrado César
# propuesta: edelros@espol.edu.ec

def cifradocesar(mensaje,llave):
    alfabeto = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    m = len(alfabeto)
    
    # mensaje en mayusculas
    mensaje = mensaje.upper()
    t = len(mensaje)

    # crear resultado desde primera letra
    resultado = ''
    i = 0
    while not(i>=t):

        #busca letra en alfabeto
        encontre = -1
        j = 0
        while not(j>=m):
            if (mensaje[i]==alfabeto[j]):
                encontre=j
            j = j + 1
            
        # cambia letra de alfabeto con llave
        if (encontre>=0):
            nueva = encontre+llave
            if (nueva>m):
                nueva = nueva - m
            if (nueva<0):
                nueva = nueva + m
            letra = alfabeto[nueva]
        else:
            letra = alfabeto[encontre]
            
        # añade letra al resultado
        resultado = resultado + letra
        i = i + 1
        
    return(resultado)