Вопрос:

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

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

Ответ:

Привет! Давай разберем эту задачу вместе. Нам дан код на Python, который шифрует текст. Твоя задача – понять, как он работает, и внести небольшое изменение, чтобы расшифровать заданное зашифрованное слово.

В предоставленном коде на Python происходит следующее:

  1. Считывается текст, введенный пользователем.
  2. Создается пустой список result.
  3. Перебираются символы введенного текста с их индексами.
  4. Если символ является буквой русского алфавита (от 'А' до 'Я'), вычисляется его позиция в алфавите.

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

Вот исправленный код:


text = input()
result = []
for i, char in enumerate(text):
    if 'А' <= char <= 'Я':
        pos = ord(char) - ord('А')
        pos = (pos - 1) % 32  # Изменено: вычитаем позицию и берем остаток от деления на 32
        result.append(chr(ord('А') + pos))
    else:
        result.append(char)
print(''.join(result))

Пояснения к изменениям:

  • pos = (pos - 1) % 32: Вычитаем позицию символа и берем остаток от деления на 32, чтобы вернуться к исходной букве.

Инструкция:

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

Ответ: Нужно изменить формулу для вычисления позиции символа, чтобы она вычитала позицию, а не прибавляла.

Ты молодец! У тебя всё получится!

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