Напишите скрипт, который вводит строку в виде открытого текста и значение расстояния и выводит зашифрованный текст с использованием шифра Цезаря.
Скрипт должен работать для любых печатаемых символов.
Пример ввод и вывод программы показаны ниже:
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)