Исходя из комментария @knitti, проблема в том, что вам нужно сначала разбить предложение на слова, а затем проверить:
term = "message" #term we want to search for
input = raw_input() #read input from user
words = input.split() #split the sentence into individual words
if term in words: #see if one of the words in the sentence is the word we want
do_stuff()
В противном случае, если у вас было предложение "Это одинклассический ", и вы попытались проверить, содержало ли оно слово" задница ", оно вернуло бы True неправильно.
Конечно, это все еще не идеально, потому что тогда вам, возможно, придется беспокоиться о таких вещах, как удаление знаков препинанияа что нет (например, и т. д.), потому что в противном случае предложение «Это классика».будет по-прежнему возвращать False для поиска «классический» (из-за периода в конце).Вместо того, чтобы заново изобретать колесо, вот хороший пост об удалении знаков препинания из предложения в Python:
Лучший способ убрать пунктуацию из строки в Python
Есть case-Чувствительность также следует учитывать, поэтому перед выполнением поиска вы можете изменить результат raw_input
и условие поиска на строчные.Вы можете легко сделать это, просто используя функцию lower()
в классе str
.
Эти проблемы всегда кажутся простыми ...