Курс 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. Сравнение def и lambda функций в Python
  2. Представление бесконечности в Python
  3. Удаление дубликатов из списка
  4. Имена объектов в Python
  5. Вакансии в Nebius
  6. Оптимизация памяти с помощью __slots__
  7. Объединение словарей в Python
  8. Принципы Zen of Python
  9. None в Python: использование и особенности
  10. Нахождение максимального значения и его индекса в списке
  11. Перегрузка операторов в Python
  12. Установка Python — Простое руководство
  13. Метод get() для словарей
  14. Особенности множеств в Python
  15. Работа со строками в Python
  16. Красивый вывод списка
  17. Получение текущей директории
  18. Генераторы в Python
  19. Лямбда-функции в Python
  20. Форматирование чисел в Python
  21. Переменные в Python: сокращение гласных
  22. Удаление элемента по индексу
  23. Модуль pprint
  24. Исключение NotImplementedError
  25. Список переменных с %who
  26. Преобразование регистра символов
  27. Переворот списка в Python
  28. Объединение списков в строку
  29. Хранение данных
  30. Поиск самого частого элемента
  31. Метод get для словаря
  32. Сглаживание списка
  33. EMOT преобразование эмодзи в текст
  34. Генераторы в Python
  35. Профилирование с Pandas
  36. Отрицательные индексы списков
  37. Проверка наличия элемента в списке
  38. Метод join() для объединения строк
  39. Автоматизация скриптов на AWS Lightsail.
  40. Подробная информация о %pinfo
  41. Фильтрация элементов с помощью islice
  42. Операторы присваивания в Python
  43. Цикл while в Python
  44. Пространство имен в Python
  45. kwargs в Python

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