Курс 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
- JSON-esque в Python
- Многопоточность в Python
- Хэш-функции в Python
- Создание пар из последовательностей
- Magic Commands — улучшение работы с Python
- Приближение чисел в Python
- Очистка строки в Python
- Генераторы данных
- Python Enum Weekday Usage
- Оператор walrus в Python
- Лямбда-функции в Python
- Синхронизация потоков с time.sleep()
- Метод split() в Python
- Сравнение объектов в Python
- Измерение времени выполнения кода с использованием time
- Сохранение Unicode в JSON
- Обмен значений переменных в Python
- Область видимости переменных
- UserString в Python
- Переворот списка в Python
- Удаление специальных символов
- Генератор данных в Keras
- Замер времени выполнения кода
- Combobox в Tkinter
- Работа с файлами в Python
- Метод __imod__ для Python
- Работа с пакетами
- Отправка HTTP-запросов в Python
- Создание директории в Python
- Работа с WindowsPath()
- Извлечение аудио из видео
- Создание новых списков в Python
- Проектирование Singleton с метаклассом
- CLI-инструмент howdoi
- Основы работы со строками в Python
- Взаимодействие с внешними процессами в Python
- Работа со временем в Python
- Переопределение метода __and__
- Метод lt для сортировки объектов
- Округление дробей в Python
- Работа с комплексными числами
- Форматирование данных с pprint
- Работа с файловой системой в Python















