шифр питон не возвращается - PullRequest
0 голосов
/ 30 апреля 2019

не получается получить правильный результат и нужна помощь с расшифровочным кодом

# need help with code
cipher = ''
decipher = ''
choice = ''
while choice != 0:
    choice = input('Press 1 to encrypt your text \nPress 2 to decrypt your 
    cipher text \n:')
    if choice == '1':
        cipher = input('Enter text to encrypt').lower()
        for letter in cipher:
            if(letter != ''):
                cipher += the_bacon[letter]
        print(cipher)
    break
>>> Press 1 to encrypt your text 
>>> Press 2 to decrypt your cipher text 
:1
>>> Enter text to encrypt
hello world
hello worldaabbb
hello worldaabbbaabaa
hello worldaabbbaabaaababb
hello worldaabbbaabaaababbababb
hello worldaabbbaabaaababbababbabbba

необходимо создать заменительный беконный шифр, и он не работает должным образом, нужна помощь с расшифровочным кодом тоже

1 Ответ

0 голосов
/ 30 апреля 2019

Предполагая, что ваш 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...