Курс 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. Codecademy в Telegram
  4. Python: динамическая типизация и проверка типов
  5. Поиск подстроки в строке
  6. Константы в модуле cmath
  7. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  8. Пропуск строк в файле с itertools
  9. Ввод нескольких значений
  10. Преобразование чисел в восьмеричную строку
  11. Использование модуля __future__
  12. Именованные срезы в Python
  13. Обработка ошибок в JSON данных
  14. Область видимости переменных
  15. Поиск частого элемента
  16. Установка Home Assistant
  17. Возврат нескольких значений
  18. Метод setdefault() в Python
  19. Установка и обучение ChatterBot
  20. Навыки Python: строки, типы данных
  21. Работа с набором данных CIFAR10 в PyTorch
  22. Вычисление времени выполнения
  23. Работа с множествами в Python
  24. Оптимизация методов в Python 3.7
  25. Метод сравнения объектов в Python
  26. Основы работы с базами данных в Python
  27. Печать месячного календаря
  28. Функция reversed() в Python
  29. Получение текущей директории
  30. Вычисление разности множеств в Python
  31. Контроль точности вывода чисел
  32. Взаимодействие с sys
  33. Списковый компрехеншен.
  34. Обезопасьте ввод данных
  35. Разделение строки в Python
  36. Виртуальное окружение Python
  37. Округление дробей в Python
  38. Обмен данными с asyncio.Queue
  39. Создание GUI на Tkinter
  40. Создание функций высшего порядка
  41. Функции min(), max(), sum()
  42. Замена текста в Python
  43. Оператор «and» в Python
  44. Преобразование регистра строк
  45. Путь к интерпретатору Python

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