0

我们必须为一个项目做一个 vigenere 密码,而我的代码只是不断重复。就像它不会运行加密或解密一样。这是我的代码。就像这就是它的一个例子..

“嘿,用户!

你的消息是什么??嗨

邮件中有多少个字母?2

你要解密还是加密?解密

让我们解密你的消息!

你要解密还是加密?”

print "Hey There user!"
def vig():
dore = raw_input("Do you want to decrypt or encrypt?")
if "decrypt" in dore: 
    print "Lets decrypt your message!!"
else:
    print "lets encrypt your message!!"


def dore(message):
encrypt = ''
decrypt = ''
if "encrypt" in vig(): 
 for i in range(0, len(message)):
    e = ord(message[i]) + ord(key[i%len(key)]) - 65
if e > 90:
    e -= 26
    encrypt += chr(e)
    print encrypt
if "decrypt" in vig():
    e = ord(message[i]) - ord(key[i%len(key)]) + 65
if e < 65:
    e += 26
    decrypt += chr(e)
    print decrypt

 ####################################
 ###########################################:)#####
 message = raw_input("whats your message??")
 key = raw_input("How many letters are in the message?")
 vig()
 dore(message)
 message = message
 encrypt = ''
 decrypt = ''
4

1 回答 1

1

您要做的第一件事dore就是再次调用vig

if "encrypt" in vig():

尝试将加密和解密分成两个函数并相应地调用它们:

def vig(message):
    ui = raw_input("Encrypt or decrypt? ").lower()
    if "decrypt" in ui:
        return decrypt(message)
    else:
        return encrypt(message)

此外,用户不需要输入消息的长度,只需执行以下操作:

key = len(message)
于 2014-02-24T22:18:37.440 回答