Курс 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. Управление памятью в Python
  2. Непрерывная проверка в Python
  3. Методы HTTP запросов в Flask
  4. Сортировка с помощью параметра key
  5. Подробная информация о %pinfo
  6. Замеры производительности в Python
  7. Работа с асинхронными задачами в Python
  8. Удаление элементов во время итерации
  9. Итерация по коллекции в Python
  10. Декораторы в Python
  11. Работа с каталогами в Python
  12. Применение функции map() с лямбда-функциями
  13. Избегайте ошибку FileNotFoundError
  14. Ошибка NotImplemented в Python
  15. Простой калькулятор Python
  16. Глобальные переменные в Python
  17. Хранение переменных в Python.
  18. Регистрация на хакатоне
  19. Частичное применение функций в Python
  20. Распаковка значений в Python
  21. Метод repr() в Python
  22. Оператор continue в Python
  23. Однострочники Python
  24. Многострочные комментарии в Python
  25. Функция enumerate() в Python
  26. Создание уникального множества
  27. Создание генераторов
  28. Уникальность ключей в словаре
  29. Отрицательные индексы списков
  30. Упрощение условных выражений с тернарным оператором
  31. Список методов и атрибутов
  32. Разделение функций на этапы
  33. Правила именования переменных
  34. Работа с Colorama
  35. Подсчет частотности элементов в Python
  36. Проблема с изменяемыми аргументами
  37. Разделение строк в Python
  38. Numpy: использование Ellipsis
  39. Создание словарей с defaultdict
  40. Многоточие в Python
  41. Метод __float__ в Python
  42. Копирование объектов в Python
  43. Создание списков в Python
  44. Создание инструмента обнаружения плагиата
  45. Преобразование данных в Python
  46. globals и locals

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