Курс 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"
- Функции all и any в Python
- Запуск внешнего кода в Jupyter
- Преобразование типов данных в set comprehension
- Удаление ключей из словаря
- Работа с аргументами командной строки
- Частичное совпадение ввода
- Запрос пароля с помощью getpass
- Retrying в Python: повторные вызовы
- Оператор zip в Python
- split() без разделителя
- Mad Libs Generator
- Работа со строками в Python
- Поиск с библиотекой Google
- Возврат нескольких значений
- Операторы сравнения в Python
- Комментарии в Python
- Метод get() для словарей
- Numpy: разбиение массивов
- Преобразование вложенного списка
- Метод ipow для возведения в степень
- Обязательные аргументы в Python
- Генераторы в Python
- Печать календаря в Python
- Асинхронное программирование с asyncio
- Основы слова
- Фильтрация элементов с помощью islice
- Работа с эмодзи в Python
- Создание коллекций из генератора
- Сортировка списка по индексам
- Вакансии в Nebius
- Использование функции enumerate()
- Списковое включение в Python
- Иерархия классов в Python
- Глобальные переменные в Python
- Руководство по Pymorphy2
- Сортировка HTML-элементов
- Избегайте использования goto
- Функции в Python: создание и вызов
- Метод enumerate() в Python
- Python Поверхностное Копирование
- Логирование с Logzero
- Работа с временем в Python
- Работа с аргументами командной строки в Python
- Библиотека Chartify: руководство
- Удаление элемента из списка
- Функция divmod() в Python
- Установка и использование Virtualenv
- Замена атрибута в именованном кортеже
- Список методов и атрибутов
- Передача параметров в Python















