Почему бот работает неправильно?
Можно сделать отдельные списки со словами, а потом проверять, есть ли ответ от пользователя в нужном списке:
print("Привет, какое у тебя настроение?")

good = ["хорошо","хорошее","отлично","отличное","прекрасно","прекрасное","замечательно","замечательное","идеально","норм"]
bad = ["плохо","плохое","ужасно","ужасное","не очень","такое себе" ]

a =  input().lower()
if  a in good:
    print("У меня тоже хорошее настроение")
elif a in bad:
    print("Ничего страшного, скоро все наладится")
else:
    print("Извини, я тебя не понимаю")
Такой синтаксис в Python отсутствует
if "Зима" or "зима" in c:
Должно быть так:
if 'зима' in c or 'Зима' in c: