缺少1个必需的位置参数:“密钥”加密

2024-09-30 22:14:35 发布

您现在位置:Python中文网/ 问答频道 /正文

alphabet = ' abcdefghijklmnopqrstuvwxyz'
cryptMode = input("[E]ncrypt|[D]ecrypt: ").upper()
if cryptMode not in ['E','D']:
    print("Error: mode is not Found!"); raise SystemExit
startMessage = input("Write the message: ").upper()
try:rotKey = int(input("Write the key: "))
except ValueError: print("Only numbers!"); raise SystemExit
def encryptDecrypt(alphabet,mode,message,Key,final = ""):
    for c in message:
        if mode == 'E': 
            final += alphabet[(alphabet.index(c) + Key)%(len(alphabet))]
        else: 
            final += alphabet[(alphabet.index(c) - Key)%(len(alphabet))]
    return final
print("Final message:",encryptDecrypt(cryptMode, startMessage, rotKey))

获取此错误

打印(“最终消息:”,加密解密(cryptMode,startMessage,rotKey)) TypeError:encryptDecrypt()缺少1个必需的位置参数:“Key”\

我无法理解我做错了什么


Tags: keyinmessageinputifmodenotupper
1条回答
网友
1楼 · 发布于 2024-09-30 22:14:35

def encryptDecrypt(alphabet,mode,message,Key,final = ""):需要4个参数和第五个可选参数

您仅使用三个参数调用它:encryptDecrypt(cryptMode, startMessage, rotKey),缺少alphabet

更正:

encryptDecrypt(alphabet, cryptMode, startMessage, rotKey)

相关问题 更多 >