2017-04-27 170 views
0

我在Python中制作一个加密程序,它不断向我发送“字符串索引超出范围”消息。字符串索引超出范围 - Python

input = input("").lower() 
letters =["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"] 
message = [] 
encryption = [] 
letter = 0 
code = 1 
wordletter = 0 
word = "baa" 

for i in range(len(input)): 

    code = 1 

    wordletter += 1 

    if wordletter > len(word): 
     wordletter = 0 

    code = letters.index(word[wordletter]) 

    if input[i] in letters: 
     letter = letters.index(input[i]) 
     letter += code 
     message.append(letter) 
    else: 
     message.append(input[i]) 

for i in range(len(message)): 
    encryption.append(letters[message[i]]) 

它说错误在第19行 - 就像这样。

Traceback (most recent call last): 
    File "//x17/StudentHome/2023/a.nachmany16/Encrypter.py", line 19, in <module> 
    code = letters.index(word[wordletter]) 
IndexError: string index out of range 
>>> 

有人可以帮我吗?

回答

1
if wordletter > len(word): 
    wordletter = 0 

由于Python使用从零开始的索引,因此条件应更改为>=

相关问题