Проблема с функцией для бота

Всем привет, я недавно в этом удивительном мире и начал свой путь с питона. Я решил сделать простого "бота" для общения, но у меня возникает проблема с выводом. По идеи, отправляя данные в функцию, оно должно проходить через проверки пока не дойдет до нужной, но чтобы я не ввёл, всегда исполняется первая.

IA = True
print("Зравствуйте, сэр. Меня зовут Джарвис. Я простой искусственный интеллект")
def Intellect(msg):
    if msg == "Привет" or "Здравствуй" or "Интересно" or "Круто" or "Привет, Джарвис" or "Здравствуй, Джарвис":
        print("Как прошёл ваш день?")
    elif msg == "Джарвис?" or "Джарвис" or "Кто?" or "Кто":
        print("Джарвис - искусственный интеллект, первая версия от 17.03.2022.")
        print("Создан с целью практики в кодинге и от скуки")
        print("Версия №1. Надеюсь, меня сделают  лучше и подарят голос")
        print("Что-то ещё?")

while IA:
    data = input().lower().title()
    Intellect(data)

Ответы (1 шт):

Автор решения: ProstoBob

Ответ на ваш вопрос:

if msg == "Привет" or msg == "Здравствуй" or msg ==  "Интересно" or msg ==  "Круто" or msg ==  "Привет, Джарвис" or msg ==  "Здравствуй, Джарвис":
        print("Как прошёл ваш день?")

Нужно добавлять msg ==.

Но я думаю что здесь будет намного удобнее проверять так:

hello_words_list = ["привет", "здравствуй", "хай"] # здесь просто список слов которые могут встретиться в предложении

for word in msg: # сделайте ваш msg списком в котором буду слова по отдельности
    if word in hello_words_list: # если слово в списке
        # тут делайте что-то, например создайте функцию say_hello() которая напечатает в ответ приветсвие

Пишите мне если будут вопросы по боту. Я тоже делал что-то похожее только с распознованием речи и голосом.

→ Ссылка