Курс 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"

  1. Создание объекта времени
  2. Удаление URL-адресов в Python
  3. Работа с timedelta в Python
  4. Модуль array: создание и использование массивов
  5. Метод get для словаря
  6. Нахождение самого длинного слова в списке с помощью max
  7. Метод __getitem__ в Python
  8. Метод splitlines() для разделения строк
  9. Структура данных deque в Python
  10. Проверка подстроки в строке с помощью in
  11. Асинхронное выполнение задач в процессах
  12. Блок try…finally в Python
  13. Функции высшего порядка в Python
  14. Фильтрация данных в Python.
  15. Список переменных в Python
  16. Создание списков в Python
  17. Создание новых функций через partial
  18. Форматирование заголовков в Python
  19. Переопределение метода sub
  20. Метод get() для словарей
  21. Применение промокода в Много лосося
  22. Python: Splat-оператор и splatty-splat
  23. F-строки в Python
  24. Хеширование паролей с солью
  25. Логирование в Python
  26. Декораторы в Python
  27. Python Менеджер контекста
  28. Python и Монти Пайтон
  29. Разность множеств
  30. Использование обратной косой черты в f-строках
  31. Присоединение элементов коллекции
  32. Сравнение неупорядоченных списков
  33. Скачать видео с YouTube
  34. Получение срезов итераторов
  35. Вычисление разности множеств в Python
  36. Переворот строки с использованием цикла
  37. Метод join() с набором
  38. Просмотр файла в Jupyter Noteboo
  39. Модуль future Python
  40. Создание пар из последовательностей
  41. Лимиты на ресурсы Python
  42. Профилирование с cProfile
  43. Работа с библиотекой requests

Marketello читают маркетологи из крутых компаний