Цезарь Cipher Python - дополнительные функции
Так что в настоящее время мой код выглядит так (спасибо за помощь в другом посте, который я сделал)
phrase = raw_input("Enter text to Cipher: ")
shift = int(raw_input("Please enter shift: "))
result = ("Encrypted text is: ")
for character in phrase:
#Loops through phrase and shows ascii numbers, example: hello is: 104,101,108,108,111
x = ord(character)
#adds a shift to each character so if shift is 1 'hello' becomes: ifmmp 105,102,109,109,112
result += chr(x + shift)
print "\n",result,"\n"
Проблема в том, что если я наберу более одного слова, например: Привет мир, со сдвигом 1
выход:ifmmp!xpsme
Восклицательный знак отображается для пробела (зависит от смены). Я думал о том, чтобы сделать оператор if для обнаружения пробелов:
phrase = raw_input("Enter text to Cipher: ")
shift = int(raw_input("Please enter shift: "))
result = ("Encrypted text is: ")
for character in phrase:
#Loops through phrase and shows ascii numbers, example: hello is: 104,101,108,108,111
x = ord(character)
if x == ord(' '):
print "\nfound a space space"
#adds 1 to each character so 'hello' becomes: ifmmp 105,102,109,109,112
result += chr(x + shift)
print "\n",result,"\n"
Но я нене знаю, как добавить пробел в переменную результата. Также я увидел в этой теме:Цезарь»s Шифр, использующий python, может использовать небольшую помощь
Этот JeffB использовал цикл while для работы с таблицей 32 ASCII, являющейся пробелом, и 127, являющейся DEL. Почему он использовал 96? Я неТ понять.
while x < 32:
x += 96
while x > 127:
x -= 96
Извините, этот вопрос довольно длинный. Спасибо заранее! Ваша помощь неоценима для меня.