Курс Python → ROT13 Шифр Цезаря в Python
Шифр Цезаря — это метод шифрования, при котором каждая буква в сообщении заменяется другой буквой, находящейся на определенном расстоянии в алфавите. В данном случае используется ROT13, где каждая буква сдвигается на 13 позиций. Например, буква «A» становится «N», «B» становится «O» и так далее.
Для того чтобы расшифровать строку, зашифрованную с помощью ROT13, можно использовать модуль Python под названием this.py. Этот модуль выводит Zen of Python — набор принципов, которые руководствуют разработчиков при написании кода. Одним из них является принцип явного лучше, чем неявное.
Пример использования шифра Цезаря с помощью ROT13 в Python:
import this
def decrypt_rot13(s):
decrypted = ""
for char in s:
if char.isalpha():
shifted = ord(char) + 13
if char.islower():
if shifted > ord('z'):
shifted -= 26
elif char.isupper():
if shifted > ord('Z'):
shifted -= 26
decrypted += chr(shifted)
else:
decrypted += char
return decrypted
encrypted = "Gur Dhvpx Oebja sbeg vf gur onq pbqr"
decrypted = decrypt_rot13(encrypted)
print(decrypted)
В данном примере функция decrypt_rot13() принимает зашифрованную строку и возвращает ее расшифрованный вариант. Затем создается переменная encrypted с зашифрованной строкой, которая затем расшифровывается с помощью функции decrypt_rot13(). Результат расшифрования выводится на экран.
Другие уроки курса "Python"
- Проверка вхождения подстроки
- Оператор space-invader
- Список импортированных модулей в Python
- Генераторы в Python
- Преобразование регистра символов
- Цикл for с enumerate() в Python
- Использование модуля math
- Функции all и any в Python
- Итераторы в Python
- Управление браузером с Selenium
- Функции map, filter, reduce
- Декораторы в Python
- Хранение переменных в словаре.
- Объединение списков в Python
- Цикл while в Python
- JMESPath в Python
- Запуск внешних программ с subprocess
- Обработка исключений в Python
- Оператор «not» в Python
- Solidity для DeFi Ethereum
- Оператор морж в Python 3.8
- Печать месячного календаря
- Регистрация на TenChat
- Документация функции help() в Python
- Python: динамическая типизация и проверка типов
- Colorama: окрашивание текста в Python
- Метод pos в Python
- Работа с файловой системой в Python
- Обработка ошибок в Python
- Метод enumerate() в Python
- Пропуск начальных строк с помощью dropwhile()
- Создание итерируемых объектов
- Структура данных deque в Python
- Получение частей дроби
- Объединение списков в Python
- Отправка поздравлений по дню рождения
- Проверка наличия элемента в списке
- Создание объекта timedelta
- Использование подчеркивания в REPL
- Логический оператор «and» в Python
- Разбиение текста в Python
- Вычисление фазы комплексного числа
- Разделение строки на пары ключ-значение.
- Преобразование регистра строк
- Область видимости переменных
- Нахождение максимального значения и его индекса в списке
- Разделение строк в Python
- Базовые объекты Python
- GitHub в Telegram: подписка на уведомления
- Создание вложенных циклов for















