我们必须为一个项目做一个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 = ''
答案 0 :(得分: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)