Вычитание одной строки из другой

По текстовому условию нужно удалить только начальный prefix. Тогда 'Hello World' и 'World' дают 'Hello World', а не 'Hello': приведённый пример описывает удаление суффикса и противоречит условию.

Короткий ответ

Что ответить на собеседовании

По текстовому условию нужно удалить только начальный prefix. Тогда 'Hello World' и 'World' дают 'Hello World', а не 'Hello': приведённый пример описывает удаление суффикса и противоречит условию.

Подробный разбор

Ответ с пояснениями

Условие

Реализуйте функцию, получающую на вход две строки — строку source и подстроку prefix. Если source начинается с prefix, функция должна вернуть source без этого начального фрагмента; в противном случае вернуть source без изменений. Пример: входные данные «Hello World» и «World» → результат «Hello».

Ответ

По текстовому условию нужно удалить только начальный prefix. Тогда 'Hello World' и 'World' дают 'Hello World', а не 'Hello': приведённый пример описывает удаление суффикса и противоречит условию.

Реализация буквального требования:

def subtract_prefix(source, prefix):
    if source.startswith(prefix):
        return source[len(prefix):]
    return source

В Python 3.9+ аналогично работает source.removeprefix(prefix). Пустой prefix оставляет строку без изменения. Чтобы получить 'Hello' из примера, надо отдельно договориться об удалении суффикса ' World' либо удалении 'World' с последующим удалением пробела. Нельзя незаметно смешивать эти правила с удалением префикса.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее