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

时间:2016-01-13 15:39:12

标签: python-3.4

我正在编写此代码并且最近遇到了错误。我不知道为什么会这样。理论上,应该打印英文字母。但是,不是英文字母,而是打印符号。 我出于某种原因无法粘贴符号,但如果您自己运行代码,您就会理解我的意思。 我的完整代码发布在下面。

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)

1 个答案:

答案 0 :(得分:0)

你需要加回你最初带走的96 :)或者,使用Caesar密码公式,因为加回96仍会导致出现符号(我已经完成了ocr课程)

addition = message1 + key1 + 96

如果关键字短于消息,则代码将无效,因此请在i上使用模数运算符(%),并在行内使用关键字的长度:

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