【发布时间】:2017-09-29 21:39:31
【问题描述】:
谁能告诉我为什么我只得到我的纯文本消息的一个字符来加密?消息是“船在午夜航行”,加密密钥是 4。我只能让 t 转换为 x,消息的其余部分不打印。我错过了什么?
#request the message from the user
def InputMessage():
PlainText = input("Enter the message you would like to encrypt: ")
return PlainText
#encrypt the message
def CaesarShift(PlainText):
#initialize variables
alpha = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
Key = int(input("Enter the encryption key: "))
CipherText = ""
#skip over spaces in the message
for ch in PlainText:
if ch == " ":
pass
else:
#encrypt the message
index = alpha.index(ch)
NewIndex = index + Key
ShiftedCharacter = alpha[NewIndex]
CipherText += ShiftedCharacter
return CipherText
#main program start
def main():
PlainText = InputMessage()
CipherText = CaesarShift(PlainText)
#print the encrypted message
print("Encrypted message: " + CipherText)
#main program end
main()
【问题讨论】:
-
取消您的退货声明!在第一次迭代之后,您从循环内部返回。
标签: python encryption caesar-cipher