Курс 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. Использование метода lower()
  4. Генераторы данных
  5. Пропуск начальных строк с помощью dropwhile()
  6. Просмотр атрибутов и методов класса
  7. Генерация случайных чисел в Python
  8. Установка максимального количества цифр
  9. Работа с CSV файлами
  10. %pinfo: получение информации об объекте
  11. Удаление элемента из списка в Python
  12. Именование столбцов в Python с pandas
  13. Python itertools combinations() — группировка элементов
  14. Вычисление натурального логарифма в NumPy
  15. Библиотека sh: удобные команды терминала
  16. Объединение словарей в Python 3.5+
  17. Оператор assert в Python
  18. Изменения в обработке логических значений
  19. Работа со временем в Python
  20. Добавление Progressbar в Python
  21. Хешируемые ключи в Python
  22. Символ подчеркивания в Python
  23. Работа с контекстными переменными
  24. Модуль itertools: эффективная работа с итераторами
  25. Замена подстроки
  26. Работа с f-строками 2.0
  27. Работа с аргументами командной строки
  28. Модуль itertools: комбинации и перестановки
  29. Решатель судоку на Python с pygame
  30. Создание и удаление объектов
  31. Проверка наличия элемента в списке
  32. Пересечение списков с использованием множеств
  33. Оператор in для Python
  34. Работа с файлами в Python
  35. Замена текста с re.sub()
  36. Настройка шрифта и цвета в Tkinter
  37. Форматирование объектов с модулем pprint
  38. Основные операции с библиотекой Numpy
  39. Метод rlshift для битового сдвига
  40. Генераторы в Python
  41. Генератор чисел Фибоначчи
  42. Подсчет вхождений элементов
  43. Измерение времени выполнения кода
  44. Работа с кортежами в Python

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