Курс 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"
- Создание объекта времени
- Удаление URL-адресов в Python
- Работа с timedelta в Python
- Модуль array: создание и использование массивов
- Метод get для словаря
- Нахождение самого длинного слова в списке с помощью max
- Метод __getitem__ в Python
- Метод splitlines() для разделения строк
- Структура данных deque в Python
- Проверка подстроки в строке с помощью in
- Асинхронное выполнение задач в процессах
- Блок try…finally в Python
- Функции высшего порядка в Python
- Фильтрация данных в Python.
- Список переменных в Python
- Создание списков в Python
- Создание новых функций через partial
- Форматирование заголовков в Python
- Переопределение метода sub
- Метод get() для словарей
- Применение промокода в Много лосося
- Python: Splat-оператор и splatty-splat
- F-строки в Python
- Хеширование паролей с солью
- Логирование в Python
- Декораторы в Python
- Python Менеджер контекста
- Python и Монти Пайтон
- Разность множеств
- Использование обратной косой черты в f-строках
- Присоединение элементов коллекции
- Сравнение неупорядоченных списков
- Скачать видео с YouTube
- Получение срезов итераторов
- Вычисление разности множеств в Python
- Переворот строки с использованием цикла
- Метод join() с набором
- Просмотр файла в Jupyter Noteboo
- Модуль future Python
- Создание пар из последовательностей
- Лимиты на ресурсы Python
- Профилирование с cProfile
- Работа с библиотекой requests















