Яндекс.Практикум

2. Метод split() (Строки и форматирование)

Задача 1

Имеется список запросов к Анфисе queries .

Необходимо определить, какие из них адресованы Анфисе, а какие — другим людям.

Напишите функцию check_query(), которая принимает запрос как параметр, анализирует его и возвращает один из двух вердиктов:

  • строку 'запрос к Анфисе', если запрос начинается с обращения к Анфисе,
  • строку 'запрос к кому-то ещё', если нет.

Код вывода результатов на экран уже написан в основном теле программы.

Код:

def check_query(query):
    request =  (query.split())
    if request[0] == 'Анфиса,': return 'запрос к Анфисе'
    else: return 'запрос к кому-то ещё'

# дальше следует код, вызывающий вашу функцию; не изменяйте его:
queries = [
    'Анфиса, сколько у меня друзей?',
    'Андрей, ну где ты был?',
    'Андрей, ну обними меня скорей!',
    'Анфиса, кто все мои друзья?'
]

for q in queries:
    result = check_query(q)
    print(q, '-', result)

Результат:

Анфиса, сколько у меня друзей? - запрос к Анфисе
Андрей, ну где ты был? - запрос к кому-то ещё
Андрей, ну обними меня скорей! - запрос к кому-то ещё
Анфиса, кто все мои друзья? - запрос к Анфисе

Задача 2

Вы умеете звать Анфису.

Теперь надо научить её распознавать суть запроса.

Отделите обращения — перепишите функцию check_query() так, чтобы она возвращала:

  • Например, для запроса 'Анфиса, сколько у меня друзей?' верните строку 'сколько у меня друзей?'.
  • Для запроса 'Серёга, ты где?' — строку 'ты где?'.

У строки, которую она возвращает, не должно быть пробелов в начале и конце.

Код:

Внимание, код не соответствует логике задания, был выполнен в качестве проверки, но тестер его принял

def check_query(query):
    request =  (query.split ())
    #print (request)
    #print (request[-1])
    if request[-1] == 'друзей?': return ' '.join(request[1:])
    elif request[-1] == 'был?': return ' '.join(request[1:])
    elif request[-1] == 'скорей!': return ' '.join(request[1:])
    return ' '.join(request[1:])

# дальше следует код, вызывающий вашу функцию; не изменяйте его:
queries = [
    'Анфиса, сколько у меня друзей?',
    'Андрей, ну где ты был?',
    'Андрей, ну обними меня скорей!',
    'Анфиса, кто все мои друзья?'
]

for q in queries:
    result = check_query(q)
    print(q, '-', result)

Результат:

Анфиса, сколько у меня друзей? - сколько у меня друзей?
Андрей, ну где ты был? - ну где ты был?
Андрей, ну обними меня скорей! - ну обними меня скорей!
Анфиса, кто все мои друзья? - кто все мои друзья?

Оставьте комментарий