如果将变量'key'返回到解密函数中,为什么它不被识别?错误读取 “NameError:全局名称的 '钥匙' 没有定义” 这里是代码:为什么我的Python代码得到“未定义”错误?
alphabet = 'abcdefghijklmnopqrstuvwxyz'
alphaList = list(alphabet)
text = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj"
def createKey(aList):
key = []
count = 0
for letter in aList:
if count < 24:
key.append(aList[count + 2])
else:
key.append(aList[count - 24])
count += 1
return key
def decrypt(text):
createKey(alphaList)
decryptedList = []
textList = list(text)
for c in textList:
if c in alphaList:
index = alphaList.index(c)
decryptedList.append(key[index])
else:
decryptedList.append(c)
decryptedText = "".join(decryptedList)
return decryptedText
print decrypt(text)
您的createKey函数返回密钥,但'decrypt()'不会捕获该返回值,例如'key = createKey(alphaList)'。 –
@MarcB听起来像是对我的回答。 – melwil