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

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

Отвечает Беляев Егорушка.
Ответ:
Код текстом почему-то не даёт отправить, сделал снимок экрана




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно, я помогу вам с этой задачей. Вот решение с использованием функции CaesarCipherChar
:
pythondef CaesarCipherChar(c, k):
if 'A' <= c <= 'Z':
return chr((ord(c) - ord('A' + k) + 26) % 26 + ord('A'))
elif 'a' <= c <= 'z':
return chr((ord(c) - ord('a' + k) + 26) % 26 + ord('a'))
return c
def CaesarCipher(S, k):
encrypted = [CaesarCipherChar(c, k) for c in S]
return ''.join(encrypted)
# Пример использования
original_string = "In a hole in the ground there lived a hobbit."
k = 3
encrypted_string = CaesarCipher(original_string, k)
print(encrypted_string)
Этот код создает функцию CaesarCipherChar
, которая шифрует один символ, и функцию CaesarCipher
, которая шифрует всю строку с заданным сдвигом k
. Затем пример использования показывает, как зашифровать исходную строку.
Заметьте, что в данном решении мы используем операции над кодами символов (ord
и chr
), чтобы обеспечить циклическую замену символов в алфавите.


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

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

Информатика 16
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili