Курс 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"
- Управление памятью в Python
- Непрерывная проверка в Python
- Методы HTTP запросов в Flask
- Сортировка с помощью параметра key
- Подробная информация о %pinfo
- Замеры производительности в Python
- Работа с асинхронными задачами в Python
- Удаление элементов во время итерации
- Итерация по коллекции в Python
- Декораторы в Python
- Работа с каталогами в Python
- Применение функции map() с лямбда-функциями
- Избегайте ошибку FileNotFoundError
- Ошибка NotImplemented в Python
- Простой калькулятор Python
- Глобальные переменные в Python
- Хранение переменных в Python.
- Регистрация на хакатоне
- Частичное применение функций в Python
- Распаковка значений в Python
- Метод repr() в Python
- Оператор continue в Python
- Однострочники Python
- Многострочные комментарии в Python
- Функция enumerate() в Python
- Создание уникального множества
- Создание генераторов
- Уникальность ключей в словаре
- Отрицательные индексы списков
- Упрощение условных выражений с тернарным оператором
- Список методов и атрибутов
- Разделение функций на этапы
- Правила именования переменных
- Работа с Colorama
- Подсчет частотности элементов в Python
- Проблема с изменяемыми аргументами
- Разделение строк в Python
- Numpy: использование Ellipsis
- Создание словарей с defaultdict
- Многоточие в Python
- Метод __float__ в Python
- Копирование объектов в Python
- Создание списков в Python
- Создание инструмента обнаружения плагиата
- Преобразование данных в Python
- globals и locals















