Курс 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. Проверка вхождения подстроки
  2. Оператор space-invader
  3. Список импортированных модулей в Python
  4. Генераторы в Python
  5. Преобразование регистра символов
  6. Цикл for с enumerate() в Python
  7. Использование модуля math
  8. Функции all и any в Python
  9. Итераторы в Python
  10. Управление браузером с Selenium
  11. Функции map, filter, reduce
  12. Декораторы в Python
  13. Хранение переменных в словаре.
  14. Объединение списков в Python
  15. Цикл while в Python
  16. JMESPath в Python
  17. Запуск внешних программ с subprocess
  18. Обработка исключений в Python
  19. Оператор «not» в Python
  20. Solidity для DeFi Ethereum
  21. Оператор морж в Python 3.8
  22. Печать месячного календаря
  23. Регистрация на TenChat
  24. Документация функции help() в Python
  25. Python: динамическая типизация и проверка типов
  26. Colorama: окрашивание текста в Python
  27. Метод pos в Python
  28. Работа с файловой системой в Python
  29. Обработка ошибок в Python
  30. Метод enumerate() в Python
  31. Пропуск начальных строк с помощью dropwhile()
  32. Создание итерируемых объектов
  33. Структура данных deque в Python
  34. Получение частей дроби
  35. Объединение списков в Python
  36. Отправка поздравлений по дню рождения
  37. Проверка наличия элемента в списке
  38. Создание объекта timedelta
  39. Использование подчеркивания в REPL
  40. Логический оператор «and» в Python
  41. Разбиение текста в Python
  42. Вычисление фазы комплексного числа
  43. Разделение строки на пары ключ-значение.
  44. Преобразование регистра строк
  45. Область видимости переменных
  46. Нахождение максимального значения и его индекса в списке
  47. Разделение строк в Python
  48. Базовые объекты Python
  49. GitHub в Telegram: подписка на уведомления
  50. Создание вложенных циклов for

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