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
# 2da Evaluación II Término 2012
# Tema 2. Cifrado Cesar
# 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)