Фотография автора

Привет, меня зовут Влад.

Здесь я пишу на темы в которых пытаюсь разобраться: веб-дизайне, программировании, веб-аналитике и рекламе.

Может о чем-то еще.

Разбор задачи «String ends with?»

По условию задачи нужно написать функцию solution, которая принимает два аргумета — text и ending. И проверяет является ли ending окончанием текста.

Пример:

solution('abc', 'bc') #returns true
solution('samurai', 'ad') #returns false

Есть несколько вариантов решения:

  1. Первое, что лично мне пришло в голову - узнать длину ending, затем с помощью слайса просто срезать кусок текста и проверить равны ли символы в конце текста, переданному окончанию.
def solution(text, ending):
    if ending == text[-len(ending):len(text)]:
        return True
    return False

Здесь можно было бы вместо оператора сравнения использовать оператор 'in', но оператор сравнения более явный.

  1. Второе решение, более лаконичное и красивое, нужно использовать метод строки endswith.
def solution(text, ending):
    return text.endswith(ending)

Какие-либо условные конструкции здесь не нужны, так как метод возвращает True или False.