Курс 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"
- Форматирование строк с помощью f-строк
- Различия символов в Python
- Оптимизация поиска в словарях
- Проверка типов с использованием isinstance
- Делегирование в Python
- Работа с JSON в Python
- Обновление данных через PUT запрос
- f-строки в формате строк
- Анализ текста на русском языке с помощью Pymystem3
- split() без разделителя
- Поиск подстроки в строке
- Описание скриптов в README
- Проверка переменных окружения в Python
- Асинхронное выполнение задач в Python
- Обмен данными с asyncio.Queue
- Объединение списков в строку
- Сортировка с помощью параметра key
- Тестирование с responses
- Подчеркивание в REPL
- Сравнение строк в Python
- Python defaultdict добавление ключа
- Удаление файлов и папок в Python
- Многоточие в Python
- Операторы объединения в Python 3.9
- Работа с буфером обмена на Python
- Модуль xkcd: добавление юмора в Python
- Очистка списка от False, None, 0, «»
- Enum в Python
- Генерация строк с .join()
- Сглаживание списка
- Делегирование в Python
- Метод split() в Python
- Объединение словарей в Python
- Работа с Enum в Python3.
- Итерация по итерируемым объектам
- Цепные операции в Python
- Метод count() для списков
- Работа с датой и временем в Python
- Операции с датами в Python
- Анонимные функции в Python
- ChainMap.new_child() — добавление нового словаря
- Кортежи в Python: особенности и преимущества















