Вопрос задан 05.07.2023 в 02:52. Предмет Информатика. Спрашивает Николаев Глеб.

Python.Шифр Цезаря В шифре Цезаря каждый символ, являющийся буквой латинского алфавита, заменяется

на другой символ, k -тый по счёту в алфавите после данного. Если этот символ выходит за границы, то берётся соответствующий из начала строки. Например, для =3 k = 3 символ A заменяется на D , символ B — на E , символ C — на F , ..., символ Z – на C . Аналогично, строчные буквы заменяются на строчные буквы. Все остальные символы не меняются. Дана строка, зашифруйте её при помощи шифра Цезаря. Решение оформите в виде функции CaesarCipher (S, k), возвращающей новую строку. S — исходная строка, k — величина сдвига. Функцию нужно вызывать со значением k = 3. Указание Cделайте функцию CaesarCipherChar (c, k), шифрующую один символ. Примеры Ввод 1 In a hole in the ground there lived a hobbit. Вывод Lq d kroh lq wkh jurxqg wkhuh olyhg d kreelw.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Вохменцев Стас.

Ответ:

Достаточно простой базовый алгоритм как видно из исходников. Вместо составления словаря вручную я просто произвожу вычисления используя коды ASCII

P.S.:

Незнаю почему, но я не могу добавить в качестве файла сам исходный код или скопировать его сюда в ответ :(


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я помогу вам написать функцию для шифра Цезаря на языке Python. Ниже приведен код для функции CaesarCipherChar, которая шифрует один символ согласно правилам шифра Цезаря:

python
def CaesarCipherChar(c, k): if 'A' <= c <= 'Z': return chr((ord(c) - ord('A') + k) % 26 + ord('A')) elif 'a' <= c <= 'z': return chr((ord(c) - ord('a') + k) % 26 + ord('a')) else: return c

Затем можно использовать эту функцию для написания функции CaesarCipher, которая будет шифровать всю строку:

python
def CaesarCipher(S, k): encrypted = "" for char in S: encrypted += CaesarCipherChar(char, k) return encrypted

Используя обе функции, вы можете зашифровать исходную строку с помощью шифра Цезаря. Пример использования:

python
input_string = "In a hole in the ground there lived a hobbit." shift = 3 encrypted_string = CaesarCipher(input_string, shift) print(encrypted_string)

Вывод:

Lq d kroh lq wkh jurxqg wkhuh olyhg d kreelw.

Примечание: Ваше исходное требование было использовать k = 3 для сдвига. Если вы хотите другое значение k, вы можете изменить его в коде.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос