Я пытаюсь создать простую функцию, которая инвертирует строку с использованием рекурсии.Рекурсивные функции: Обратное слово
это то, что я пробовал:
def inverse(ch):
if ch=='' :
return ''
else:
return ch[len(ch)]+inverse(ch[1:len(ch)-1])
print inverse('hello')
И это то, что я получаю:
line 13, in inverse return ch[len(ch)]+inverse(ch[1:len(ch)-1]) IndexError: string index out of range
Индексы в строке от 0 до 'len-1'. Итак, как бы «ch [len (ch)]« был прав? – Barmar
Разбить линию и использовать временные переменные, чтобы определить, какой индекс неверен. –
Если вы хотите использовать последний символ слова, используйте отрицательный индекс: 'ch [-1]'. И срез до последнего символа - ch [0: -1] '. – Barmar