Курс 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. Шаблоны и наследование в Flask
  2. Метод hash в Python
  3. Обновление шаблона base.html
  4. Работа с Event() в threading
  5. Python union() функция — объединение множеств
  6. Создание списка дат
  7. Копирование списков в Python
  8. Измерение времени выполнения кода
  9. Объединение объектов в Python
  10. Философия Python
  11. Получение списка файлов в директории с использованием os
  12. Генераторные функции в Python
  13. Отрицательные индексы списков
  14. Создание таблиц в Python с PrettyTable
  15. Разница между датами
  16. Beautiful Soup — извлечение данных из HTML
  17. Комментарии в Python.
  18. Пропуск строк в файле с itertools
  19. Структуры данных в Python
  20. Определение объема памяти объекта
  21. Метод join() для объединения элементов
  22. Проверка кортежей.
  23. Переменная с нижним подчеркиванием
  24. Анонимные функции в Python
  25. Использование функции enumerate()
  26. Ограничение итераций в Python
  27. Переменные в Python: сокращение гласных
  28. Эффективная конкатенация строк с использованием join()
  29. Метод ipow для возведения в степень
  30. Проверка окончания строки с помощью str.endswith()
  31. Операции с матрицами в Python
  32. Взаимодействие с внешними процессами в Python
  33. Создание уникального множества
  34. Преобразование списков в словарь
  35. Работа с путями в Python
  36. Оптимизация гиперпараметров с Scikit Optimize
  37. Перевернуть список в Python
  38. Установка и загрузка Instaloader
  39. Метод join() для объединения элементов в строку.
  40. Проверка подстроки в строке
  41. PrettyTable: создание таблицы
  42. Операции с датами в Python
  43. Функции с необязательными аргументами
  44. Подсказки типов в Python
  45. Функция __init__ в Python
  46. Параллельные вычисления в Python

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