Я не знаю, как эффективно вернуться к началу алфавита, когда (индекс буквы + 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 («Тест»), конечно, я получаю ошибку «индекс строки вне диапазона», как мне решить эту проблему?