尝试创建ROT13解码器时,我发现了一个我不太了解的错误

问题描述

对于一般的编码世界来说,我是一个新手,在完成了一个最新的以密码学为主题的Codecademy项目之后,我受到启发去尝试使用类似的设置来创建自己的ROT13解码器,因为我已经看到ROT13使用了很多在一些我经常去掩盖剧透的粉丝中我写的代码如下:

ABCs = "abcdefghijklmnopqrstuvwxyz"
punctuation = ".,?'! "
user_input = input("Enter message to be decoded: ")

def ROT13_decode(message):
    translation = ""
    for letter in message:
        if not letter in punctuation:
            letter_value = ABCs.find(letter)
            translation += ABCs[(letter_value + 13)]
        else:
            translation += letter
    return translation

print(ROT13_decode(user_input))

但是,在调试时,出现以下错误消息:

line 10,in ROT13_decode
    translation += ABCs[(letter_value + 13)]
IndexError: string index out of range

当只有26个字母可以使用时,我不知道我的字符串索引如何超出范围。我想念什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)