2017-04-27 5 views
0

Ich mache einen Verschlüsseler in Python und es sendet mir eine "String-Index außerhalb des Bereichs" Nachricht.String-Index außerhalb des Bereichs - 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]]) 

Es heißt der Fehler ist in Zeile 19 - so.

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 
>>> 

Kann mir jemand helfen?

Antwort

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

Da Python verwendet nullbasierte Indizierung, sollte die Bedingung >= geändert werden.

Verwandte Themen