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