Не получается инвертировать часть строки с помощью среза
Задача:
Дана строка, в которой буква h встречается как минимум два раза. Разверните последовательность символов, заключенную между первым и последним появлением буквы h, в противоположном порядке.
Мой код:
s = input()
one = s.find("h")
two = s.rfind("h")
answer = s[:one] + s[one:two:-1] + s[two:]
print(answer)
Входные данные: In the hole in the ground there lived a hobbit
Мой вывод:
In thobbit
Правильный вывод:
In th a devil ereht dnuorg eht ni eloh ehobbit
Знаю, что основная проблема в s[one:two:-1], ибо я пытался это в отдельную переменную засунуть, выводится ничего. Объясните пожалуйста, что не так.
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
В обратном порядке же идёте от большего индекса к меньшему
answer = s[:one] + s[two:one-1:-1] + s[two+1:]
In th a devil ereht dnuorg eht ni eloh ehobbit