Python.AttributeError: у объекта 'str' нет атрибута для слов - PullRequest
0 голосов
/ 08 июня 2018
GREETING_KEYWORDS = ("hello", "hi", "greetings", "sup", "whats up",)
GREETING_RESPONSES = ["sup bro", "hey", "*nods*", "hey you get my snap?"]
def check_for_greeting(sentence):
    for word in sentence.words:
        if word.lower() in GREETING_KEYWORDS:
             return random.choice(GREETING_RESPONSES)
user= input(">>> ")
check_for_greeting(user)

AttributeError: у объекта 'str' нет атрибута 'words'.предложение.слово не является правильным.Как получить GREETING_RESPONSES, если пользователь вводит данные в GREETING_KEYWORDS.Я использую Python 3,5

1 Ответ

0 голосов
/ 08 июня 2018

Переменная sentence представляет собой строку .Я знаю, что намерение состоит в том, что это предложение со словами в нем, но для Python это всего лишь строка с символами в нем.sentence содержит только «слова», поскольку предполагается, что " " - это специальный символ, который делит символы в строке на слова.Вы должны рассказать Python об этом намерении.Для этого используйте метод split():

def check_for_greeting(sentence):
    words = sentence.split()
    for word in words:
        if word.lower() in GREETING_KEYWORDS:
...