Курс 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
- Применение промокода в Много лосося
- Создание и обучение модели с Keras
- Переопределение метода __or__()
- Метод invert для побитового отрицания
- Создание словарей с defaultdict
- Работа с collections в Python.
- Форматирование данных с помощью pprint
- Обновление шаблона base.html
- Разбиение строки в Python
- Операторы сравнения в Python
- Работа с f-строками 2.0
- Нахождение разницы между списками в Python
- Работа с IP-адресами в Python
- Оператор continue в Python
- Переименование файлов в Python
- Работа с модулем os в Python
- Оператор Walrus: правильное использование
- Представление бесконечности в Python
- Основные функции и модули Python
- Оператор in для проверки наличия элемента
- Ключевое слово global в Python
- Доступ к локальным переменным
- Метод setdefault() в Python
- Генераторы в Python
- Перезагрузка оператора в Python
- Метод __irshift__ для побитового сдвига вправо
- Повторение элементов списков
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Работа с timedelta
- Сравнение строк в Python
- Инициализация переменных
- Транспонирование матрицы в Python
- Создание тестовых данных с Faker
- Сумма элементов списка
- Работа с географическими данными в Python
- Функция zip() в Python
- Перегрузка операторов в Python
- Сортировка в Python
- Изменения в обработке логических значений
- Подсчет вхождений элементов
- Генераторы в Python
- Обработка StopIteration в Python
- Форматирование вывода списков
- Конкатенация строк в Python
- Объединение словарей в Python
- Big O оптимизация















