Предполагая, что ваш the_bacon
является правильным словарем с перестановками букв от 1 до 1, ваша проблема заключается в том, что вы добавляете к вводу вместо создания нового объекта вывода и затем печатаете его.
Вы можететакже используйте while not choice:
для представления в цикле, пока они не ответят.!= 0
никогда не произойдет, если вы не собираетесь сначала превратить его в тип int
.
cipher = ''
decipher = ''
choice = ''
while not choice:
choice = input('Press 1 to encrypt your text \nPress 2 to decrypt your
cipher text \n:')
if choice == '1':
in_cipher = input('Enter text to encrypt').lower()
out_cipher = ''
for letter in in_cipher:
if(letter != ' '):
out_cipher += the_bacon[letter]
print(out_cipher) # print output letter by letter as it builds
print(out_cipher) # print the output
else:
# you need to decipher here and handle choices not 1 or 2