Vigenere python-未找到子字符串错误

Vigenere python-未找到子字符串错误,python,keyword,vigenere,Python,Keyword,Vigenere,此代码一直工作到第31行。然后是错误 ciphercharindexvalue=字母表索引(键列表[keyincrement])+字母表索引(纯文本) ValueError:未找到子字符串 出现。 我不知道为什么会这样,你能帮我吗? 我正在尝试使用此代码中的关键字对代码进行加密。我可以用一个数字加密(如开始所示),但我现在想用一个关键字来创建一个“Vigenere密码” 这是完整的代码: eord = input("Would you like to encrypt or decrypt? [e

此代码一直工作到第31行。然后是错误
ciphercharindexvalue=字母表索引(键列表[keyincrement])+字母表索引(纯文本)
ValueError:未找到子字符串
出现。 我不知道为什么会这样,你能帮我吗? 我正在尝试使用此代码中的关键字对代码进行加密。我可以用一个数字加密(如开始所示),但我现在想用一个关键字来创建一个“Vigenere密码”

这是完整的代码:

eord = input("Would you like to encrypt or decrypt? [e/d]: ")
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012346789"
string = ''

if eord == 'e':
    texte = input ("Type your word to encrypt: ")
    key1 = int(input("Choose a key: "))
    for letter in texte:
        number = (ord(letter)) + (key1)
        letter = (chr(number))
        string = (str(string)) + (str(letter))
    print (string)
    keyword = input ("Would you like to encrypt your code further? [Y/N]: ")



    if keyword == "Y" or "y":
        plaintext = input("Please enter plain text: ")
        key = input("Please enter a keyword: ")
        keylist = []
        keylength = 0
        while keylength < len(plaintext):
            for char in  key:
                if keylength < len(plaintext):
                    keylist.append(str(char))
                    keylength = keylength + 1
        completeciphertext = []
        ciphercharindexvalue = 0
        keyincrement = 0
        for plaintextchar in plaintext:
            ciphercharindexvalue = alphabet.index(keylist[keyincrement]) + alphabet.index(plaintext)
            while ciphercharindexvalue >25:
                ciphercharindexvalue = ciphercharindexvalue - 26
            completeciphertext.append(alphabet[ciphercharindexvalue])
            keyincrement = keyincrement + 1
        print (''.join(completecipertext))
eord=input(“您想加密还是解密?[e/d]:”)
字母表=“ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ012346789”
字符串=“”
如果eord==“e”:
texte=input(“键入要加密的单词:”)
key1=int(输入(“选择键:”)
对于文本中的字母:
数字=(单词(字母))+(键1)
字母=(chr(数字))
字符串=(str(string))+(str(字母))
打印(字符串)
关键字=输入(“您想进一步加密您的代码吗?[Y/N]:”)
如果关键字==“Y”或“Y”:
纯文本=输入(“请输入纯文本:”)
key=输入(“请输入关键字:”)
keylist=[]
keylength=0
而keylength25时:
ciphercharindexvalue=ciphercharindexvalue-26
completeciphertext.append(字母表[ciphercharindexvalue])
keyincrement=keyincrement+1
打印(“”.join(CompleteCipperText))

您正在尝试获取纯文本的索引,而不是纯文本字符。也许这会奏效:

ciphercharindexvalue = alphabet.index(keylist[keyincrement]) + alphabet.index(plaintextchar)