Расшифровывание строки

Как расшифровать строку?

import rе
alphabet_pos = {'A':0, 'a':0, 'B':1, 'b':1, 'C':2, 'c':2, 'D':3, 'd':3,         
        'E':4, 'e':4, 'F':5, 'f':5, 'G':6, 'g':6, 'H':7, 'h':7, 'I':8, 'i':8,
        'J':9, 'j':9, 'K':10, 'k':10, 'L':11, 'l':11, 'M':12, 'm':12, 'N': 13,
        'n':13, 'O':14, 'o':14, 'P':15, 'p':15, 'Q':16, 'q':16, 'R':17, 'r':17,
        'S':18, 's':18, 'T':19, 't':19, 'U':20, 'u':20, 'V':21, 'v':21, 'W':22,
        'w':22, 'X':23, 'x':23, 'Y':24, 'y':24, 'Z':25, 'z':25, 'А':0, 'а':0,
        'Б':1, 'б':1, 'В':2, 'в':2, 'Г':3, 'г':3, 'Д':4, 'д':4, 'Е':5, 'е':5,
        'Ж':7, 'ж':7, 'З':8, 'з':8, 'И':9, 'и':9, 'Й':10, 'й':10, 'К':11, 'к':11,
        'Л':12, 'л':12, 'М':13, 'м':13, 'Н':14, 'н':14, 'О':15, 'о':15, 'П':16,
        'п':16, 'Р':17, 'р':17, 'С':18, 'с':18, 'Т':19, 'т':19, 'У':20, 'у':20,
        'Ф':21, 'ф':21, 'Х':22, 'х':22, 'Ц':23, 'ц':23, 'Ч':24, 'ч':24, 'Ш':25,
        'ш':25, 'Щ':26, 'щ':26, 'Ъ':27, 'ъ':27, 'Ы':28, 'ы':28, 'Ь':29, 'ь':29,
        'Э':30, 'э':30, 'Ю':31, 'ю':31, 'Я':32, 'я':32}
def alphabet_position(letter):                                                  
    pos = alphabet_pos[letter]
    return pos
def rotate(letter, rot):
    shift = 97 if letter.islower() else 65
    return chr((ord(letter) + rot - shift) % 26 + shift)
def encrypt(words, key):        
    encrypted = []    
    starting_index = 0
    for letter in words:
        rotation = alphabet_position(key[starting_index])
        if not letter in alphabet_pos:
            encrypted.append(letter)
        elif letter.isalpha():            
            encrypted.append(rotate(letter, rotation))             
        if starting_index == (len(key) - 1): 
            starting_index = 0
        else: 
            starting_index += 1
    return ''.join(encrypted)
def rotate(letter, rot):
    shift = 97 if letter.islower() else 65
    return chr((ord(letter) + rot - shift) % 26 + shift)
#Од сюда вниз,что-то не так
def decrypt(A, key):
    decrypted = []
    startingIndex = 0
    for letter in A:
        rotation = alphabet_position(key[startingIndex])
        if not letter in alphabet_pos:
            decrypted.append(letter)
        elif letter.isalpha():
            decrypted.append(rotate(letter,rotation))
        if startingIndex == (len(key) - 1): 
            startingIndex = 0
        else: 
            startingIndex += 1
    return ''.join(decrypted)
words = input('Введите строки: ')
key = input('Введите ключ: ')

Ответы (0 шт):