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