Python

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

Задача 5. Разворот

На вход в программу подаётся строка, в которой буква h встречается как минимум два раза. Реализуйте код, который разворачивает последовательность символов, заключённую между первым и последним появлением буквы h, в противоположном порядке.
Жорж Либерман
Жорж Либерман
8 408
Лучший ответ
.
Nurbolat Bekkaziev
Nurbolat Bekkaziev
419
 На всякий случай дополню

text = input('Введите строку на английском: ')

letters = ''.join([i for i in text[text.index('h') + 1:text.rindex('h')]])

print(f'Развёрнутая последовательность между первым и последним h: {letters[::-1]}')
  • Решение без использования .rindex()
 string = input('Введите строку: ') 

i_h = [i for i in range(len(string)) if string[i] == 'h']

print('Развёрнутая последовательность между первым и последним h:', string[i_h[len(i_h) - 1] - 1:i_h[0]:-1])
Правильно вот это
s = input()
a = s[:s.find('h')]
b = s[s.find('h'):s.rfind('h') + 1]
c = s[s.rfind('h') + 1:]
s = a + b[::-1] + c
print(s)
my_string = input('Введите строку: ')
def revers_two_h(string):
one = my_string.index('h')
two = my_string.rindex('h')
if len(my_string) == 2 and my_string[one] and my_string[two]:
n = ''
else:
n = my_string[one + 1:two]
print('Развёрнутая последовательность между первым и последним h:',n[::-1])

revers_two_h(my_string)
вот правильное решения задачи:DATABASE = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Миша': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Красноярск',
'Егор': 'Пермь',
'Коля': 'Красноярск'
}


def format_friends_count(friends_count):
if friends_count == 1:
return '1 друг'
elif 2 <= friends_count <= 4:
return f'{friends_count} друга'
else:
return f'{friends_count} друзей'


def process_anfisa(query):
if query == 'сколько у меня друзей?':
count = len(DATABASE)
return f'У тебя {format_friends_count(count)}.'
elif query == 'кто все мои друзья?':
friends_string = ', '.join(DATABASE)
return f'Твои друзья: {friends_string}'
elif query == 'где все мои друзья?':
unique_cities = set(DATABASE.values())
cities_string = ', '.join(unique_cities)
return f'Твои друзья в городах: {cities_string}'
else:
return '<неизвестный запрос>'



def process_query(query):
elements = query.split(', ')
name = elements[0]
if name == 'Анфиса':
return process_anfisa(elements[1])
else:
return process_friend(name, elements[1])



def process_friend(name, query):
if name in DATABASE:
if query == 'ты где?':
city = DATABASE[name]
return f'{name} в городе {city}'
else:
return '<неизвестный запрос>'
else:
return f 'У тебя нет друга по имени {name}'




print('Привет, я Анфиса!')
print(process_query('Анфиса, сколько у меня друзей?'))
print(process_query('Анфиса, кто все мои друзья?'))
print(process_query('Анфиса, где все мои друзья?'))
print(process_query('Анфиса, кто виноват?'))
print(process_query('Соня, ты где?'))
print(process_query('Коля, что делать?'))
print(process_query('Антон, ты где?'))
symbols = input('Введите: ')
fir = symbols.index('h')
las = symbols.rindex('h')
las -= 1
print(symbols[las:fir:-1])
Вот верное решение по задаче из Skillbox:

word = input('Введите строку: ')

reversed_fragment = word[word.find('h') + 1:word.rfind('h')]
word = reversed_fragment[::-1]

print(word)