Вопрос задан 21.06.2023 в 14:47. Предмет Информатика. Спрашивает Поп Михайло.

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

заменяется на другой символ, 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.
0 0
Перейти к ответам

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

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

Ответ:

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)

Объяснение:


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

Для решения этой задачи мы сначала напишем функцию 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, чтобы зашифровать ее.

0 0

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

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

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

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