Цезарь Шифр, Питон

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

Вот мой код:

Choice = input("Would you like to decrypt or encrypt a message? Please enter 'E' or 'D': ")
Message = input("Enter text to Cipher: ")
Offset = int(input("Please enter your offset: "))
Encrypt = ''
Decrypt = ''

if Choice == "e".upper:
    for character in Message:
        x = ord(character)
        Encrypt += chr(Offset + x)
    print (Encrypt)
if Choice == "d".upper:
    for character in Message:
        x = ord(character)
        Decrypt += chr(Offset - x)
    print (Decrypt)

2 ответа

Решение

"e".upper это метод. Ты хочешь "e".upper(), То же самое для расшифровки, конечно.

upper это функция, а не атрибут. + Изменить upper в upper()

Другие вопросы по тегам