1. Главная
  2. Библиотека
  3. Информационные технологии
  4. Напишите функцию `encrypt_caesar(msg, shift)`, которая кодирует сообщение шифром Цезаря и возвращает его. Шифр Цезаря заме...

Напишите функцию `encrypt_caesar(msg, shift)`, которая кодирует сообщение шифром Цезаря и возвращает его. Шифр Цезаря заменяет каждую букву в тексте на букву, которая отстоит в алфавите на некоторое фиксированное число позиций. В функцию передается

«Напишите функцию `encrypt_caesar(msg, shift)`, которая кодирует сообщение шифром Цезаря и возвращает его. Шифр Цезаря заменяет каждую букву в тексте на букву, которая отстоит в алфавите на некоторое фиксированное число позиций. В функцию передается»
  • Информационные технологии

Условие:

Напишите функцию encrypt_caesar(msg, shift), которая кодирует сообщение шифром Цезаря и возвращает его. Шифр Цезаря заменяет каждую букву в тексте на букву, которая отстоит в алфавите на некоторое фиксированное число позиций.
В функцию передается сообщение и сдвиг алфавита. Если сдвиг не указан, то пусть ваша функция кодирует сдвиг алфавита на 3 позиции:

А

Г
,

Б

Д
,

В

Е
,



Э

А
,

Ю

Б
,

Я

В

Все символы, кроме русских букв должны остаться неизменными. Маленькие буквы должны превращаться в маленькие, большие — в большие.

Напишите также функцию декодирования decrypt_caesar(msg, shift), также использующую сдвиг по умолчанию. При написании функции декодирования используйте вашу функцию кодирования.

Решение:

Вот реализация функций `encrypt_caesar` и `decrypt_caesar`, которые кодируют и декодируют сообщения с использованием шифра Цезаря: ```python def encrypt_caesar(msg, shift=3): encrypted_msg = [] for char in msg: if А = char = Я: # Проверка на заглавные буквы # Сдвиг с учетом русского алфавита new_char = chr((ord(char) - ord(А) + shift) % 32 + ord(А)) encrypted_msg.append(new_char) elif а = char = я: # Проверка на строчные буквы new_char = chr((ord(char) - ord(а) + shift) % 32 + ord(а)) en...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет