Практикуйте шифрование и отключите 1 символ - PullRequest
0 голосов
/ 26 февраля 2020

Напишите скрипт, который вводит строку в виде открытого текста и значение расстояния и выводит зашифрованный текст с использованием шифра Цезаря.

Скрипт должен работать для любых печатаемых символов.

Пример ввод и вывод программы показаны ниже:

Enter a message: Hello world!
Enter the distance value: 4
Lipps${svph%

Вот мое кодирование:

# Encryptioin
org_message = input("Enter a message: ")
dist_value = int(input("Enter the distance value: "))
code_message = ""
for ch in org_message:
    order_value = ord(ch)
    cipher_value = order_value + dist_value
    if cipher_value > ord('z'):
        cipher_value = ord('a')+dist_value - \
                      (ord('z') - order_value + 1)
    code_message += chr(cipher_value)
print(code_message)

Мой код работает, но по какой-то причине с этой записью c я получаю вывод :

Lipps$asvph%

Поэтому вместо '{' я получаю 'a'

Получив помощь, я отредактировал строки так:

if cipher_value > ord('~'):
        cipher_value = ord(' ')+dist_value - \
                      (ord('~') - order_value + 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...