Hehehehe, eu sei que so o fato de deslocar no seu caso e -2, e como fazer o computador saber qual das 26 e a correta, eu n posso fikar escolhendo :D  eu tentei fazer um vê como fiko:  
import string
alfabeto = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "que", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
def decodificador(frase,desloc):
    resposta = ["_"]*len(frase)
        for i in range(len(frase)):
            for k in range(len(alfabeto)):
                  if alfabeto[k] == frase[i]:
                    resposta[i] = alfabeto[(k-desloc%26)]
    return resposta
  tirando as frescuras que tem o programa, ele da a resposta a partir da sua frase, e n e isso que eu quero quero que vem a partir do A, e outra, eu acho que veotr fka + dificl pra isso n? deve ter algo mais facil d fazer  vlw