Вопрос задан 24.06.2023 в 09:06. Предмет Информатика. Спрашивает Солдатова Варя.

УМОЛЯЮ ПОМОГИТЕ ОТ ЭТОГО ЗАВИСИТ ЖИЗНЬ ЧЕЛОВЕКА Шифр Цезаря В шифре Цезаря каждый символ,

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

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

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

def CaesarCipherChar(c, n):

   alpha = 'abcdefghijklmnopqrstuvwxyz'

   alpha2 = alpha.upper()

   if c.isupper():

       return(alpha2[(alpha2.index(c) + n) % len(alpha2)])

   elif c.islower():

       return(alpha[(alpha.index(c) + n) % len(alpha)])

   else:

       return(c)

 

def CaesarCipher(s,k):

   res = ''

   for c in s:

       res += CaesarCipherChar(c, n)

   return(res)

 

n = int(input())

s = input().strip()

print(CaesarCipher(s, n))

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

Для шифрования строки с использованием шифра Цезаря с заданным значением сдвига k = 3, вы можете использовать следующий код на Python:

python
def CaesarCipherChar(c, k): # Определите верхний и нижний пределы латинского алфавита lower_bound = ord('a') upper_bound = ord('z') # Проверьте, является ли символ буквой латинского алфавита if 'a' <= c <= 'z': # Вычислите новую позицию символа с учетом сдвига k new_pos = ord(c) + k # Если новая позиция выходит за пределы алфавита, вернитесь к началу алфавита if new_pos > upper_bound: new_pos = lower_bound + (new_pos - upper_bound - 1) return chr(new_pos) elif 'A' <= c <= 'Z': # Аналогично для заглавных букв lower_bound = ord('A') upper_bound = ord('Z') new_pos = ord(c) + k if new_pos > upper_bound: new_pos = lower_bound + (new_pos - upper_bound - 1) return chr(new_pos) else: # Если символ не является буквой, вернуть его без изменений return c def CaesarCipher(S, k): # Пройдитесь по каждому символу в строке и примените CaesarCipherChar encrypted_string = "" for char in S: encrypted_char = CaesarCipherChar(char, k) encrypted_string += encrypted_char return encrypted_string # Пример использования 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 = 3, и результат будет выведен на экран.

0 0

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

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

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

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