How do I make python encrypt both uppercase and lowercase?
Question: Basically I want the ciphered phrase as the output with both uppercase being
ciphered to uppercase and lowercase being ciphered to lowercase but not any
spaces or symbols are ciphered. It can encrypt a paragraph consisting of all
upper case and a paragraph consisting of all lower case but not a mix of the
two. here is what I have.

    
    
    def encrypt(phrase,move):
    encription=[]
    for character in phrase:
        a = ord(character)
        if a>64 and a<123:
            if a!=(91,96):
                for case in phrase:
                            if case.islower():
                                alph=["a","b","c","d","e","f","g","h","i","j","k","l","m","n",
                                      "o","p","q","r","s","t","u","v","w","x","y","z"]
                                dic={}
                                for i in range(0,len(alph)):
                                    dic[alph[i]]=alph[(i+move)%len(alph)] 
                                    cipherphrase=""  
                                for l in phrase:  
                                    if l in dic:  
                                        l=dic[l]  
                                    cipherphrase+=l
                                    encription.append(chr(a if 97<a<=122 else 96+a%122))
                                return cipherphrase
                            else:
                                ALPH=["A","B","C","D","E","F","G","H","I","J","K","L","M","N",
                                      "O","P","Q","R","S","T","U","V","W","X","Y","Z"]
                                DIC={}
                                for I in range(0,len(ALPH)):
                                    DIC[ALPH[I]]=ALPH[(I+move)%len(ALPH)]
                                    cipherphrase=""
                                for L in phrase:
                                    if L in DIC:
                                        L=DIC[L]
                                    cipherphrase+=L
                                    encription.append(chr(a if 97<a<=122 else 96+a%122))
                                return cipherphrase
    

I know its a lot but as you can see im not very good


Answer: 
    import string
    
    def caesar_cipher(msg, shift):
        # create a character-translation table
        trans = dict(zip(string.lowercase, string.lowercase[shift:] + string.lowercase[:shift]))
        trans.update(zip(string.uppercase, string.uppercase[shift:] + string.uppercase[:shift]))
    
        # apply it to the message string
        return ''.join(trans.get(ch, ch) for ch in msg)
    

then

    
    
    caesar_cipher('This is my 3rd test!', 2)     # => 'Vjku ku oa 3tf vguv!'
    

