На питон! Шифр ЦезаряВ шифре Цезаря каждый символ, являющийся буквой латинского алфавита,
заменяется на другой символ, k-тый по счёту в алфавите после данного. Если этот символ выходит за границы, то берётся соответствующий из начала строки. Например, для k=3 символ A заменяется на D, символ B — на E, символ C — на F, ... , символ Z – на C. Аналогично, строчные буквы заменяются на строчные буквы. Все остальные символы не меняются.Дана строка, зашифруйте её при помощи шифра Цезаря. Решение оформите в виде функции CaesarCipher(S, k), возвращающей новую строку. S — исходная строка, k — величина сдвига. Функцию нужно вызывать со значением k = 3.УказаниеНапишите функцию CaesarCipherChar(c, k), шифрующую один символ.ПримерыВвод выводIn a hole in the ground there lived a hobbit. Lq d kroh lq wkh jurxqg wkhuh olyhg d kreelw.Ответы на вопрос
Ответ:
def CaesarCipher(c, k):
alpha = 'abcdefghijklmnopqrstuvwxyz'
str = ''
for i in c:
if i.lower() not in alpha:
str += i
else:
if i.isupper():
str += alpha[(alpha.index(i.lower()) + k) % 26].upper()
else:
str += alpha[(alpha.index(i.lower()) + k) % 26].lower()
print(str)
s = input()
CaesarCipherChar(s, 3)
Объяснение:

Для решения этой задачи мы сначала напишем функцию CaesarCipherChar(c, k), которая будет шифровать один символ. Затем мы используем эту функцию внутри функции CaesarCipher(S, k), чтобы зашифровать всю строку. Вот решение на Python:
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
# Функция для шифрования всей строки
def CaesarCipher(S, k):
result = ""
for char in S:
result += CaesarCipherChar(char, k)
return result
# Пример использования
S = "In a hole in the ground there lived a hobbit."
k = 3
encrypted_text = CaesarCipher(S, k)
print(encrypted_text)
Этот код сначала определяет функцию CaesarCipherChar(c, k), которая шифрует один символ, и затем функцию CaesarCipher(S, k), которая применяет эту функцию ко всей строке. Вы можете вызвать CaesarCipher(S, k) с вашей строкой и значением k = 3, чтобы зашифровать ее.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
