если x относится к ключевым словам, ИИ автоматически ответит

#python #artificial-intelligence

Вопрос:

я кодирую ИИ с помощью python, но у меня есть проблема, я хочу, чтобы он распечатал ответ, если в вопросе есть ключевые слова ключей, ошибка при запуске находится в строке:

 if you == KeyS:
    robot = 'hi friend'
 

я пробовал этот код:

 import time
import pyttsx3

day = time.asctime(time.localtime(time.time()))
KeyS = 'hi', 'hello'

loop = True
while loop:
    you = input('you:')
    if you == KeyS:
        robot = 'hi friend'
    elif you == 'time':
        robot = day
    elif you == 'bye':
        robot = 'bye sir'
        print('robot:'   robot)
        robotsay = pyttsx3.init()
        robotsay.say(robot)
        robotsay.runAndWait()
        exit()
    else:
        robot = 'i do not understand'
    print('robot:'   robot)
    robotsay = pyttsx3.init()
    robotsay.say(robot)
    robotsay.runAndWait()
 

мой английский не очень хорош.поэтому, пожалуйста, простите меня, если есть какая-либо грамматическая ошибка

Комментарии:

1. Какой вклад вы внесли? Вы сказали «привет» или «привет», или вы сказали «привет, привет» в целом?

2. я сказал «привет», «привет» в целом

3. Эта строка KeyS = 'hi, 'hello' является синтаксической ошибкой. Котировки открытия и закрытия не совпадают.

4. я исправил это в KeyS= «привет», «привет», но при запуске все еще есть ошибка

5. KeyS= 'hi', 'hello' превращает его в кортеж из 2 строк. Подумайте о том, что вам на самом деле нужно. Вам нужна 1 строка с «привет» и «привет» ( "'hi', 'hello'" или "hi, hello" )? Или вам нужен кортеж из 2 строк ( 'hi', 'hello' )? Способ, которым вы будете сравнивать входные данные с ключами, зависит от того, какую структуру вы используете для входных данных и ключей (сравнение строк или проверка наличия строки в кортеже строк).

Ответ №1:

Тебе нужно измениться

   if you == KeyS:
        robot = 'hi friend'
 

Для

   if you in KeyS:
        robot = 'hi friend'
 

Так как ключи-это кортеж строк.

Комментарии:

1. Большое спасибо