import re import random patterns = { r"(.*) mam (problem|problemy) z (.*)": ["Jak myślisz, dlaczego masz problemy z %s?", "Czy myślisz, że problemy z %s wpływają na Twoje samopoczucie?"], r"(.*) mnie (denerwuje|irytuje)": ["Czy możesz powiedzieć mi więcej o tym, co Cię denerwuje?", "Czy czujesz się w stanie poradzić sobie z tym, co Cię irytuje?"], r"(.*) (nienawidzę|nie cierpię) (.*)": ["Dlaczego nie lubisz %s?", "Czy to uczucie niepokoju związane z %s jest dla Ciebie uciążliwe?"], r"(.*) jak się czujesz (.*)": ["Czy pytasz, jak się czuję, czy raczej jak się czujesz Ty?", "Czy uważasz, że mój stan emocjonalny jest dla Ciebie ważny?"], r"(.*) co powiesz na (.*)": ["Czy powiedzenie %s sprawiłoby, że poczujesz się lepiej?", "Jakie są Twoje obawy związane z %s?"], r"(.*) (nie lubię|nie przepadam) za (.*)": ["Czy zdarza się, że musisz radzić sobie z czymś, co nie lubisz?", "Czy uważasz, że masz w ogóle jakieś pozytywne uczucia związane z %s?"], } default_responses = ["Czy mógłbyś powiedzieć coś więcej na ten temat?", "Czy mógłbyś bardziej szczegółowo opisać swoje uczucia?", "Czy wiesz, co mogłoby pomóc Ci się poczuć lepiej?"] def get_response(responses): return random.choice(responses) print("Jak się dzisiaj czujesz?") while True: user_input = input("> ") if user_input.lower() in ["exit", "quit", "do widzenia"]: print("Do widzenia!") break for pattern, responses in patterns.items(): match = re.match(pattern, user_input) if match: response = get_response(responses) print(response % match.groups()) break else: print(get_response(default_responses))