Python 3.4 需要英文字母时打印的符号

Python 3.4 需要英文字母时打印的符号,python-3.4,Python 3.4,我正在写这段代码,最近遇到了一个错误。我不知道为什么会这样。理论上,英文字母表应该打印出来。然而,取代英文字母表的是印刷符号。 由于某种原因,我不能粘贴符号,但如果你自己运行代码,你就会明白我的意思。 我的完整代码发布在下面 alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFHIJKLMNOPQRSTUVWXYZ0123456789" choice = input("Would you like to encrypt or decrypt? [e/d]: "

我正在写这段代码,最近遇到了一个错误。我不知道为什么会这样。理论上,英文字母表应该打印出来。然而,取代英文字母表的是印刷符号。 由于某种原因,我不能粘贴符号,但如果你自己运行代码,你就会明白我的意思。 我的完整代码发布在下面

alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFHIJKLMNOPQRSTUVWXYZ0123456789"
choice = input("Would you like to encrypt or decrypt? [e/d]: ")

if choice == "e":

        message = input("Please insert the message you would like to use: ")
        keyword = input("Please insert the keyword you would like to use: ")    
        ik = len(keyword)
        i = 0
        string = ''

        for A in message:

            message1 = (ord(A)) - 96
            key1 = (ord(keyword[i])) - 96

            addition = message1 + key1            
            string += (chr(addition))

            if i >= ik:
                i = 0
            else:
                i += 1

        print (string)

你需要加回原来拿走的96:)或者,使用凯撒密码公式,因为加回96仍然会导致出现符号(我已经做了ocr课程作业)

如果关键字比消息短,则代码将不起作用,因此在i上使用模运算符(%),关键字的长度在行内:

key1 = (ord(keyword[i])) - 96 
key1 = (ord(keyword[i])) - 96