Напишите функцию, которая будет принимать строку и две буквы. Функция должна проверять, всегда ли после первой переданной буквы идет вторая.
Например:
Хотите скачать книги по Python в 2 клика? Тогда вам в наш телеграм канал PythonBooks
best_friend("he headed to the store", "h", "e") ➞ True # Вхождения "h": ["he", "headed", "the"] # После всех вхождений "h" идет буква "e". # Возвращается True
Примеры
best_friend("he headed to the store", "h", "e") ➞ True best_friend("i found an ounce with my hound", "o", "u") ➞ True best_friend("we found your dynamite", "d", "y") ➞ False
Примечания:
- Если вторая буква отделена от первой пробелом, то не считается, что они идут одна за другой (см. третий пример)
- Строка и буквы, которые передаются в функцию, будут в нижнем регистре.
Варианты решения
def best_friend(txt, a, b): return txt.count(a) == txt.count(a + b)
import re def best_friend(txt, a, b): return not bool(re.search("{}([^{}]|$)".format(a, b), txt))
def best_friend(txt, a, b): try: return all(j+txt[i+1]==a+b for i, j in enumerate(txt) if j == a) except: return False
От редакции Pythonist: с функцией enumerate
можно познакомиться в статье «Как работает функция enumerate() в Python?».