为什么不会通过用户输入来设置消息,却收到未定义消息的名称错误

时间:2019-05-23 02:28:48

标签: python python-3.x caesar-cipher

我正在尝试编写一个程序,以使用凯撒密码提供密钥时对消息进行加密,解密或暴力破解。 我遇到的问题是我认为我是根据用户输入将消息设置为加密,解密或蛮力的。 我收到未定义“消息”的nameError。

def getMessage():
    print('Enter your message: ')
    return input()

这应该设置用户对消息的输入。

以下是翻译消息的功能:

def getTranslatedMessage(mode, message, key):
    if mode[0] == 'd':
    key = -key
    translated = ''

    for symbol in messsage:
    symbolIndex = SYMBOLS.find(symbol)
        if symbolIndex == -1: #if symbol not found in SYMBOLS add symbol without change
            translated += symbol
         else:
            symbolIndex += key #Encrypt or Decrypt

         if symbolIndex >= len(SYMBOLS):
             symbolIndex -= len(SYMBOLS)
         elif symbolIndex < 0:
             symbolIndex += len(SYMBOLS)

             translated += SYMBOLS[symbolIndex]
             return translated

无论选择哪种模式,它都能正常运行。 我收到以下堆栈跟踪错误: 追溯(最近一次通话):   文件“ /Users/joshackerman/Documents/CeasarCipher.py”,第55行,在     打印(密钥,getTranslatedMessage('解密',消息,密钥))   getTranslatedMessage中第31行的文件“ /Users/joshackerman/Documents/CeasarCipher.py”     消息中的符号: NameError:未定义名称“消息”

0 个答案:

没有答案