Курс 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. Область видимости переменных
  4. Переменные в Python: сокращение гласных
  5. Очистка вывода в Python
  6. Python: библиотеки и функции
  7. Метод join() для объединения элементов строки
  8. Объединение Python и Shell
  9. Считывание бинарного файла в Python
  10. Разделение строки на пары ключ-значение.
  11. Перевернуть список в Python
  12. Функции map, filter, reduce
  13. Генерация случайных данных в NumPy
  14. Работа с PosixPath() в Python
  15. Сериализация объектов в Python
  16. Python Метод sleep() времени
  17. Основы Python
  18. Обход дочерних элементов BeautifulSoup
  19. Область видимости переменных в Python
  20. Преобразование строки в число
  21. Создание функций высшего порядка
  22. Функция с *args.
  23. Упрощение работы с JSON-данными в Python
  24. Расчет времени выполнения
  25. Основы Python за 14 дней
  26. Очистка списка от False, None, 0, «»
  27. Блок else в циклах.
  28. Оператор == в Python
  29. Генерация случайных чисел в Python
  30. Оптимизация памяти с помощью __slots__
  31. CLI-инструмент howdoi
  32. Операции со строками в Python
  33. Модуль array: создание и использование массивов
  34. Сортировка элементов с OrderedDict
  35. Область видимости переменных
  36. Установка Python — Простое руководство
  37. Создание веб-приложения с Flask
  38. Получение обратного списка чисел
  39. Переворот последовательности
  40. Создание словаря и множества
  41. Комментарии в Python
  42. Работа с zip-архивами в Python
  43. Возврат нескольких значений
  44. Оператор «моржа» (Walrus Operator)
  45. Сортировка и обратный порядок
  46. Измерение времени выполнения кода
  47. %pinfo: получение информации об объекте
  48. Измерение времени выполнения с помощью time

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