Курс 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"
- Модуль math: основные функции
- Декоратор для группы пользователей в Django
- Основы работы со строками в Python
- Очистка данных с Pandas
- Списковые включения в Python
- Получение списка кортежей из словаря
- Обработка исключений в Python
- Перемешивание списка с shuffle()
- Логирование с Logzero: ротация файла
- Декодирование байтов в строку
- Атрибуты класса и экземпляра
- Порядок операций в Python
- Нахождение максимального значения и его индекса в списке
- Непрерывная проверка в Python
- Итерация по копии коллекции
- Разделение строки с помощью re.split()
- Метод join() для объединения элементов строки
- Защита данных в Python
- Замеры производительности в Python
- Обновление множества в Python
- Разделение строки с регулярными выражениями
- Извлечение новостей с помощью newspaper3k
- Объединение списков в Python
- Использование html-скриптов в Jupyter Notebook
- Объединение словарей в Python
- Инициализация структур данных
- Быстрый поиск кода
- Генератор бросков кубиков
- Настройка нарезки списков
- Удаление элемента из списка в Python
- Генерация резюме в Gensim
- Непрерывная проверка в Python
- Атрибуты класса и экземпляра в Python
- Модуль itertools: комбинации и перестановки
- Оператор == в Python
- Функция divmod() в Python
- Возврат нескольких значений
- Копирование файлов с shutil()
- Поиск простых чисел
- Подсчет элементов в списке с Counter
- Проверка вхождения подстроки
- Присвоение значений переменным в Python
- Сохранение и загрузка модели в PyTorch
- Копирование объектов в Python
- Счетчик в Python: most_common()
- Копирование в Python















