Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 28, 2017 11:59:14

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

Шифр Вижинера

Я сделал кое-как программу, шифрующую текст шифром Вижинера:

 import string
key = str(input()).lower()
text = str(input()).lower()
encrypted_text = ""
letters = " ".join(string.ascii_lowercase).split()
print(letters)
print("\n\n")
for b in range(0, len(text)):
    indexes = ( text.index(text[b]) + ( key.index(key[b]) % len(key) ) ) % len(letters)
    encrypted_text += letters[indexes]
print(encrypted_text.upper()) # Делал прогу для сайта, а он требует ответ большими буквами
Но в итоге выводит ошибку: string index out of range на 14 строке.
В чем ошибка? Подскажите?

Офлайн

#2 Окт. 28, 2017 12:02:00

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

Шифр Вижинера

Все я уже понял. Там проблема была в том, что если длина текста больше длины ключа, то он бьет тревогу что я прошу от ключа 5 букву, хотя в нем только 3

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version