Курс 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: библиотеки и функции
- Метод join() для объединения элементов строки
- Объединение Python и Shell
- Считывание бинарного файла в Python
- Разделение строки на пары ключ-значение.
- Перевернуть список в Python
- Функции map, filter, reduce
- Генерация случайных данных в NumPy
- Работа с PosixPath() в Python
- Сериализация объектов в Python
- Python Метод sleep() времени
- Основы Python
- Обход дочерних элементов BeautifulSoup
- Область видимости переменных в Python
- Преобразование строки в число
- Создание функций высшего порядка
- Функция с *args.
- Упрощение работы с JSON-данными в Python
- Расчет времени выполнения
- Основы Python за 14 дней
- Очистка списка от False, None, 0, «»
- Блок else в циклах.
- Оператор == в Python
- Генерация случайных чисел в Python
- Оптимизация памяти с помощью __slots__
- CLI-инструмент howdoi
- Операции со строками в Python
- Модуль array: создание и использование массивов
- Сортировка элементов с OrderedDict
- Область видимости переменных
- Установка Python — Простое руководство
- Создание веб-приложения с Flask
- Получение обратного списка чисел
- Переворот последовательности
- Создание словаря и множества
- Комментарии в Python
- Работа с zip-архивами в Python
- Возврат нескольких значений
- Оператор «моржа» (Walrus Operator)
- Сортировка и обратный порядок
- Измерение времени выполнения кода
- %pinfo: получение информации об объекте
- Измерение времени выполнения с помощью time















