Курс 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 с помощью pydantic.
  3. Генераторы данных
  4. Копирование списков в Python
  5. Переименование файлов в Python
  6. Печать календаря
  7. Работа с файлами в Python
  8. Функция с **kwargs в Python
  9. Обработка исключений
  10. Вычисление натурального логарифма в NumPy
  11. Итерация по копии коллекции
  12. Тип CodeType в Python.
  13. Атрибуты массивов в Numpy
  14. Возврат нескольких значений из функции
  15. Конкатенация строк в Python
  16. Роль ключевого слова self
  17. Сумма элементов списка
  18. Перебор элементов списка в Python
  19. Работа с контекстным менеджером Pool
  20. Принципы LSP и ISP в Python
  21. Работа со строками в Python
  22. Команда %dhist — список посещенных каталогов
  23. Измерение времени выполнения кода
  24. Локальные переменные.
  25. Оператор is в Python
  26. Функция с *args.
  27. Форматирование чисел в Python
  28. Декоратор для группы пользователей в Django
  29. Анализ текста на русском языке с помощью Pymystem3
  30. Работа со слайсами
  31. Сравнение объектов в Python
  32. Работа с базами данных SQLite
  33. Генерация случайных чисел в Python
  34. Создание директории в Python
  35. Карта бомбоубежищ в Москве и Питере
  36. Переопределение метода divmod
  37. GitHub в Telegram: подписка на уведомления
  38. Методы обработки строк в Python
  39. Оператор is в Python
  40. Избегайте пустого списка
  41. Получение текущей даты и времени
  42. Проверка кортежей.
  43. Основы Python за 14 дней
  44. Сериализация и десериализация объектов
  45. Создание обратного итератора
  46. Работа с кортежами в Python
  47. Генераторные функции в Python

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