Курс 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. Работа с комплексными числами
  3. Работа с Event() в threading
  4. Работа с URL-адресами в Python
  5. Работа с аргументами командной строки
  6. Отслеживание выполнения программы с библиотекой tqdm
  7. Преобразование PowerPoint в PDF.
  8. Работа с Requests для HTTP-запросов
  9. Метод rmatmul для обратного матричного умножения
  10. Преобразование списка в словарь через генератор
  11. Вывод сложных структур данных с помощью pprint
  12. Основы Python за 14 дней
  13. Область видимости переменных
  14. Генератор списка с условием if
  15. Преобразование символов с помощью map
  16. Переворот строки с использованием цикла
  17. Библиотека wikipedia для Python
  18. Python: цикл for и оператор присваивания
  19. Транспонирование 2D-массива с помощью zip
  20. Мощь вложенных функций в Python
  21. Открытие и редактирование скриптов Python
  22. Применение функции к элементам списка
  23. Метод __ixor__ для побитового исключающего ИЛИ
  24. Поиск простых чисел
  25. Метод округления чисел
  26. Оператор += в Python
  27. Резервирование символов в Python
  28. Форматирование данных с помощью pprint
  29. Преобразование списков в словарь
  30. Работа с комбинациями в Python.
  31. Переопределение метода xor в Python
  32. Создание словарей в Python
  33. Экспорт данных с помощью writefile
  34. Создание списка через итерацию
  35. Перехват исключений в Python
  36. Переменная Шредингера
  37. Создание Radio кнопок в tkinter
  38. Создание новых функций с помощью functools.partial
  39. Структура строк в Python
  40. Хешируемые ключи в Python
  41. Отправка POST-запроса в REST API
  42. Названия переменных

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