Проблема с пробелами при шифровании методом Виженера на 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))
Вроде шифрует правильно, но только пока там одно слово. После пробела ключ начинает использоваться с начала. Помогите исправить