Проблема с пробелами при шифровании методом Виженера на python

from itertools import cycle

alp = 'абвгґдеєжзиіїйклмнопрстуфхцчшщьюя '
text = 'поліалфавітний шифр'.lower()
keytext = 'ключ'

def encode_vijn(text, keytext):
    f = lambda arg: alp[(alp.index(arg[0])+alp.index(arg[1])%33)%33]
    return ''.join(map(f, zip(text, cycle(keytext))))

result = []
for words in text.split(" "):
    result.append(encode_vijn(words, keytext))
print(" ".join(result))

Вроде шифрует правильно, но только пока там одно слово. После пробела ключ начинает использоваться с начала. Помогите исправить


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