#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. Большое спасибо