Пусть функция is_spam_words принимает строку (параметр text), проверяет ее на содержимое запрещенных слов из списка (параметр spam_words), и возвращает результат проверки: True, если есть хоть одно слово из списка, и False, если в тексте стоп-слов не обнаружено .
Слова в параметре text могут быть в произвольном регистре, а значит функция is_spam_words при поиске запрещенных слов регистра независима и весь текст должен сводиться к нижнему регистру. Для упрощения будем считать, что в строке есть только одно запрещенное слово.
Предусмотреть третий параметр space_around, который по умолчанию равен False. Он будет отвечать за то, что функция будет искать отдельное слово или нет. Слово считается, что стоит отдельно, если слева от слова находится символ пробела или оно расположено в начале текста, а справа от слова находится пробел или символ точки.
К примеру, в тексте мы ищем слово “лох”. Так в слове “Молох” вызов и результат будет следующим:
print(is_spam_words(“Молох”, )) # True
print(is_spam_words(“Молох”, , True)) # False
То есть во втором случае слово не отдельно и является частью другого.
В этом примере функция вернет True в обоих случаях.
print(is_spam_words(“Ты лох.”, )) # True
print(is_spam_words(“Ты лох.”, , True)) # True
НУжна помощь!
Как доделать последнюю часть?
def is_spam_words(text, spam_words, space_around=False): #print(text.lower()) # Молох бог ужасен. print(spam_words) # ['лох'] print("".join(spam_words)) if space_around: # if space_around not False if text.lower().split(): # if list not empty for i in text.lower().split(): if "".join(spam_words) in i: return True else: return False else: # so to find word as part other word pass