Курс 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. JSON-esque в Python
  3. Многопоточность в Python
  4. Хэш-функции в Python
  5. Создание пар из последовательностей
  6. Magic Commands — улучшение работы с Python
  7. Приближение чисел в Python
  8. Очистка строки в Python
  9. Генераторы данных
  10. Python Enum Weekday Usage
  11. Оператор walrus в Python
  12. Лямбда-функции в Python
  13. Синхронизация потоков с time.sleep()
  14. Метод split() в Python
  15. Сравнение объектов в Python
  16. Измерение времени выполнения кода с использованием time
  17. Сохранение Unicode в JSON
  18. Обмен значений переменных в Python
  19. Область видимости переменных
  20. UserString в Python
  21. Переворот списка в Python
  22. Удаление специальных символов
  23. Генератор данных в Keras
  24. Замер времени выполнения кода
  25. Combobox в Tkinter
  26. Работа с файлами в Python
  27. Метод __imod__ для Python
  28. Работа с пакетами
  29. Отправка HTTP-запросов в Python
  30. Создание директории в Python
  31. Работа с WindowsPath()
  32. Извлечение аудио из видео
  33. Создание новых списков в Python
  34. Проектирование Singleton с метаклассом
  35. CLI-инструмент howdoi
  36. Основы работы со строками в Python
  37. Взаимодействие с внешними процессами в Python
  38. Работа со временем в Python
  39. Переопределение метода __and__
  40. Метод lt для сортировки объектов
  41. Округление дробей в Python
  42. Работа с комплексными числами
  43. Форматирование данных с pprint
  44. Работа с файловой системой в Python

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