当 (index of a letter + 13) 超出范围时,我不知道如何有效地回到字母表的开头
我编写了一个函数,该函数仅在(字母索引 + 13)在范围内时才有效。
def rot13(message):
letters = [i for i in message]
for i in letters:
if i.isupper():
letters[letters.index(i)] =
string.ascii_uppercase[string.ascii_uppercase.index(i) + 13]
elif i.islower():
letters[letters.index(i)] =
string.ascii_lowercase[string.ascii_lowercase.index(i) + 13]
else:
continue
return ''.join(letters)
当我打电话时,例如 rot13('Test'),当然我得到'字符串索引超出范围'错误,我应该如何解决这个问题?