Вопрос:

Дан код на Python, которым зашифровали текст. Впиши во ввод "ЖЕЛАЕМ" и запусти его, чтобы увидеть, как он работает. Тебе нужно внести в код небольшое изменение, чтобы расшифровать обратно пожелание "ЖЖНГЙС ЦШЧФЛГНАЛБР Х ДЖЕЫЙЪЗИЕОНВБПЛМ КХ ХКХЭХЪПЫНЯБЧГ КИЗЬИЫІ".

Смотреть решения всех заданий с листа

Ответ:

Решение

Для решения этой задачи, давай внимательно разберем предоставленный код на Python и поймем, как он шифрует текст. Наша цель — внести небольшое изменение в код, чтобы он мог расшифровать обратно зашифрованное сообщение "ЖЖНГЙС ЦШЧФЛГНАЛБР Х ДЖЕЫЙЪЗИЕОНВБПЛМ КХ ХКХЭХЪПЫНЯБЧГ КИЗЬИЫІ".

По условию, шифр Цезаря работает так, что к каждой букве прибавляется не постоянное число, а её номер в строке. Чтобы расшифровать, нужно этот номер вычитать.

Давай рассмотрим код, который дан на изображении:

new_char = chr(ord('A') + new_pos)
result.append(new_char)

Этот код берет символ с кодом 'A' и прибавляет к нему значение new_pos, чтобы получить новый символ. Для расшифровки нам нужно вычесть new_pos вместо того, чтобы прибавлять его.

Изменим код так, чтобы он вычитал значение new_pos:

new_char = chr(ord('A') - new_pos)
result.append(new_char)

Но это не сработает, так как в условии указано, что буквы нумеруются с 0 (А = 0, Б = 1, ..., Я = 31), следовательно, нам нужно немного изменить вычисление.

Правильное изменение кода для расшифровки:

new_char = chr(ord('А') + (new_pos))
result.append(new_char)

В строке 12 необходимо заменить знак + на знак -

Тогда строка будет иметь вид:

new_char = chr(ord('A') - new_pos)

Таким образом, программа сможет расшифровать текст.

Ответ: Необходимо заменить знак + на знак - в строке 12

Ты отлично справился с задачей! Не останавливайся на достигнутом, и у тебя все получится!

ГДЗ по фото 📸
Подать жалобу Правообладателю