2017-04-27 14 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はゼロベースのインデックスを使用しているので、条件が>=に変更されなければなりません。

関連する問題