Ввод зашифрованного текста вместе со значением сдвига выводит простой текст с использованием шифра Цезаря - PullRequest
0 голосов
/ 29 апреля 2018

В целом создайте скрипт, который вводит строку зашифрованного текста и значение расстояния и выводит открытый текст с использованием шифра Цезаря. Я работал над этим последние пару дней, но не понимаю, что я делаю неправильно. Я чувствую, что не принимаю во внимание значение сдвига для декодирования зашифрованного текста.

text = input("Enter plain text: ");
s = input("Shift: ");

def caesar(plainText, shift):
    cipherText = ""
    for char in plainText:
        newChar = ord(char) + shift
        if newChar > 128:
            newChar = newChar % 128
        finalChar = chr(newChar)
        cipherText += finalChar
    return cipherText


print (caesar(text, int(s)));

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

Enter plain text: abcde
Shift: 128
abcde

Это единственное правильное значение

Enter plain text: EFGHI
Shift: 100
)*+,-

Значение должно быть выше

Enter plain text: Khoor#Zruog
Shift: 3
Nkrru&]uxrj

Значение должно быть Hello World

Я чувствую, что установил значение Shift неверно, но я не уверен, что именно не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...