Курс 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
- Автоматизация с Python
- Статическая типизация в Python
- Сортировка и обратный порядок
- Форматирование строк в Python
- Создание словаря через dict comprehension
- Генераторы в Python
- Итерации в Python
- Оператор is в Python
- Функции с необязательными аргументами
- Расчет времени выполнения кода
- Функция zip() — объединение последовательностей
- Python Тесты и Гайды
- Оператор «or» в Python
- Переопределение метода __eq__
- Использование модуля __future__
- Библиотека itertools: объединение списков
- Создание уникального множества
- Генерация строк с .join()
- Изменение переменной в Python: nonlocal
- Подсчет элементов в списке с Counter
- Concrete Paths в Python
- Создание пар из последовательностей
- Библиотека funcy: удобные утилиты
- Очистка данных с помощью pandas
- Функция zip() в Python
- Константы в модуле cmath
- Декораторы в Python
- Объединение словарей в Python
- Разделение строки с помощью re.split()
- Метод init в Python
- Управление асинхронными задачами на Python.
- Объединение, распаковка и деструктуризация
- Получение списка кортежей из словаря
- enumerate() в Python для работы с индексами
- Работа с комплексными числами
- Экспорт данных с помощью writefile
- Декоратор проверки активности
- Оператор Walrus в Python
- Нахождение пересечения множеств
- Проверка дубликатов в Python
- Измерение времени выполнения кода с использованием time
- Метод join для наборов
- Справка по импортированным модулям















