Курс 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. Метод __int__ в Python
  4. Лямбда-функции для min/max
  5. Методы list в Python
  6. Numpy: разбиение массивов
  7. Функция с **kwargs в Python
  8. Логирование с Logzero
  9. Пустой оператор pass в Python
  10. Работа с Colorama
  11. Добавление элементов в список: append() vs extend()
  12. Проверка условий: all и any
  13. Метод __imod__ для Python
  14. Оператор «not» в Python
  15. Удаление символа из строки
  16. Получение идентификатора объекта в памяти
  17. Шаблоны и наследование в Flask
  18. Создание спинбокса в tkinter
  19. Глобальные переменные в Python
  20. Создание словарей и множеств в Python
  21. Конкатенация списков в Python
  22. Комментарии в Python
  23. Сравнение объектов в Python
  24. Поиск наиболее частого элемента
  25. Обмен значений переменных в Python
  26. Лямбда-функции в Python
  27. Удаление символов новой строки в Python.
  28. Получение списка файлов в директории с использованием os
  29. Установка Python — Простое руководство
  30. Проектирование Singleton с метаклассом
  31. Обработка ошибок в Python
  32. Методы и функции в Python
  33. Удаление ключа из словаря
  34. Удаление файлов с shutil.os.remove()
  35. Создание и использование модулей в Python
  36. Получение частей дроби
  37. Оператор объединения словарей
  38. Удаление дубликатов из списка с помощью dict.fromkeys
  39. Нан-рефлексивность в Python
  40. Циклы for в Python
  41. Перетасовка списков в Python
  42. Сортировка и обратный порядок
  43. Вызов внешних программ в Python с помощью sh

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