Курс 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
- Использование метода lower()
- Генераторы данных
- Пропуск начальных строк с помощью dropwhile()
- Просмотр атрибутов и методов класса
- Генерация случайных чисел в Python
- Установка максимального количества цифр
- Работа с CSV файлами
- %pinfo: получение информации об объекте
- Удаление элемента из списка в Python
- Именование столбцов в Python с pandas
- Python itertools combinations() — группировка элементов
- Вычисление натурального логарифма в NumPy
- Библиотека sh: удобные команды терминала
- Объединение словарей в Python 3.5+
- Оператор assert в Python
- Изменения в обработке логических значений
- Работа со временем в Python
- Добавление Progressbar в Python
- Хешируемые ключи в Python
- Символ подчеркивания в Python
- Работа с контекстными переменными
- Модуль itertools: эффективная работа с итераторами
- Замена подстроки
- Работа с f-строками 2.0
- Работа с аргументами командной строки
- Модуль itertools: комбинации и перестановки
- Решатель судоку на Python с pygame
- Создание и удаление объектов
- Проверка наличия элемента в списке
- Пересечение списков с использованием множеств
- Оператор in для Python
- Работа с файлами в Python
- Замена текста с re.sub()
- Настройка шрифта и цвета в Tkinter
- Форматирование объектов с модулем pprint
- Основные операции с библиотекой Numpy
- Метод rlshift для битового сдвига
- Генераторы в Python
- Генератор чисел Фибоначчи
- Подсчет вхождений элементов
- Измерение времени выполнения кода
- Работа с кортежами в Python















