47 lines
2.0 KiB
Python
47 lines
2.0 KiB
Python
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))
|