Top.Mail.Ru
Ответы

Помогите решит задачу на pyton

Разворот
Что нужно сделать
На вход в программу подаётся строка, в которой буква h встречается как минимум два раза.
Реализуйте код, который разворачивает последовательность символов, заключённую между первым и последним появлением буквы h, в противоположном порядке.
Пример 1:
Введите строку: hqwehrty
Развёрнутая последовательность между первым и последним h: ewg.
Пример 2:
Введите строку: hh
Развёрнутая последовательность между первым и последним h:
Пример 3:
Введите строку: hhqwerh
Развёрнутая последовательность между первым и последним h: rewgh.
Советы и рекомендации
• Индекс нужного элемента можно искать как вручную, так и при помощи готовых методов списка.
• У метода index есть «брат» - метод rindex. В отличие от первого второй метод начинает поиск с правой стороны (с конца). Подробнее о нём вы можете узнать в этой статье.
Что оценивается
• Результат вычислений корректен.
• Input содержит корректные приглашения для ввода.
• Формат вывода соответствует примеру.
• Переменные и функции имеют значимые имена, не только а, b, с, d.

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Высший разум
123
 s = input('Введите строку: ')
print('Развёрнутая последовательность между первым и последним h:',
      s[s.rfind('h') - 1 : s.find('h') : -1]) 
Аватар пользователя
Мастер

От решение:
s = input("Введите строку: ")

first_h = s.find('h')
last_h = s.rfind('h')

if first_h != -1 and last_h != -1 and first_h != last_h:
reversed_part = s[first_h + 1:last_h][::-1]
result = s[:first_h + 1] + reversed_part + s[last_h:]
else:
result = s

print("Развёрнутая последовательность между первым и последним h:", result)