Сириус курсы питон помогите
Шифр Цезаря
В шифре Цезаря каждый символ, являющийся буквой латинского алфавита, заменяется на другой символ, 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.
функция caesarcipherchar(c, k) сделает сдвиг к любому символу а caesarcipher(s, k) пропустит через это все строку вот пример кода для реализации дальше можно тестить картинки на сдвиг к примеру в конце увидите как буквы поменяются на нужные
python
def CaesarCipherChar(c, k):
if c.isalpha():
# определение сдвига в алфавите
shift = ord('A') if c.isupper() else ord('a')
# шифрование символа по сдвигу k
encrypted = chr((ord(c) - shift + k) % 26 + shift)
return encrypted
else:
return c
def CaesarCipher(s, k):
encrypted_str = ""
for char in s:
encrypted_str += CaesarCipherChar(char, k)
return encrypted_str
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.
слушай