Als ich dieses Programm ausführen (Es soll kodieren und dekodieren Dinge in und aus der Caesar-Chiffre) und entscheiden sich für die decode Option, erhalte ich die Fehlermeldung, dass der String-Index außerhalb des Bereichs liegt. Kann mir jemand sagen, wie dieses Problem zu beheben und mir sagen, warum es passiert? Der Text, den ich für sie zu dekodieren eingegeben war ibmmp und der Schlüssel war 1.Thanks.
alphabet = abcdefghijklmnopqrstuvwxyz
encdec = input(Would you like to encode or decode a message? )
if encdec == decode:
keyyn = input(Do you know the key to your encoded text? (Y/N) )
if keyyn == Y:
plaintext = input(Please type in your text )
text = plaintext
key = int(input(What is the key? ))
for i in range(len(plaintext)):
letter = plaintext[i]
alphletter = alphabet.find(letter)
alphletter = alphletter - key
if alphletter < 0 or alphletter == 0:
alphletter = alphletter + 26
letter = alphabet[alphletter]
plaintext = plaintext + letter
else:
letter = alphabet[alphletter]
plaintext = plaintext + letter
print(plaintext.strip(text))
else:
print(This program is unable to decode a message without the key)