магазин Лувр

Помогите пожалуйста решить задачу python "Спецшифр"

Задача "Спецшифр" требует написания программы на языке Python, которая будет выполнять шифрование и дешифрование текста с использованием специального алгоритма.

Описание задачи

Необходимо написать программу, которая принимает на вход строку текста и выполняет следующие действия:

  1. Шифрование: каждая буква в тексте заменяется ее ASCII кодом плюс заданное число (сдвиг).
  2. Дешифрование: каждая буква в тексте заменяется ее ASCII кодом минус заданное число (обратный сдвиг).

Например, при сдвиге 3, буква "a" будет заменена на "d", "b" на "e", и так далее.

Алгоритм решения

  1. Запросите у пользователя, хочет ли он зашифровать или расшифровать текст.
  2. Запросите у пользователя текст для шифрования или расшифрования.
  3. Запросите у пользователя число, на которое нужно сдвигать символы (сдвиг для шифрования, обратный сдвиг для расшифрования).
  4. Выполните соответствующие операции в зависимости от выбранной задачи.
  5. Распечатайте результат для пользователя.

Пример реализации

def encrypt(text, shift):
    encrypted = ""
    for char in text:
        encrypted += chr(ord(char) + shift)
    return encrypted

def decrypt(text, shift):
    decrypted = ""
    for char in text:
        decrypted += chr(ord(char) - shift)
    return decrypted

action = input("Шифрование (1) или расшифрование (2)? ")
text = input("Введите текст: ")
shift = int(input("Введите число сдвига: "))

if action == "1":
    result = encrypt(text, shift)
    print("Зашифрованный текст:", result)
elif action == "2":
    result = decrypt(text, shift)
    print("Расшифрованный текст:", result)
else:
    print("Неверный ввод. Выберите 1 или 2.")

Заключение

В данной статье была представлена задача "Спецшифр" и ее решение на языке Python. Решение включает функции для шифрования и расшифрования текста, а также пример реализации, который позволяет пользователю выбрать действие (шифрование или расшифрование) и ввести соответствующий текст и число сдвига.