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.

6 Авг 2020 в 19:42
614 +1
0
Ответы
1

def CaesarCipherChar(c, k):
if c.isalpha():
shift = 3
if c.islower():
start = ord('a')
else:
start = ord('A')
return chr((ord(c) - start + shift) % 26 + start)
return c

def CaesarCipher(S, k):
return ''.join([CaesarCipherChar(c, k) for c in S])

Пример

S = "In a hole in the ground there lived a hobbit."
k = 3
result = CaesarCipher(S, k)
print(result) # Вывод: Lq d kroh lq wkh jurxqg wkhuh olyhg d kreelw.

18 Апр 2024 в 10:41
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир