SystemyDialogowe-ProjektMag.../cheddar.py

135 lines
5.5 KiB
Python

import re
import random
class Elizabeth:
questions = ((r'Potrzebuję (.*)',
('Czemu potrzebujesz %1?',
'Naprawdę pomogłoby, gdybyś miał %1?',
'Czy aby na pewno potrzebujesz %1?')),
(r'Jestem (.*)',
('Czy przyszedłeś dziś do mnie, ponieważ jesteś %1?',
'Jak długo jesteś %1?',
'Jak czujesz się z byciem %1?')),
('Jesteś (.*)',
('Czemu to ważne, że jestem %1?',
'Chciałbyś, abym nie był %1?',
'Mozę to ty uważasz, że jestem %1.',
'Mogę być %1, co o tym sądzisz?')),
(r'Co (.*)',
('Czemu pytasz?',
'W jaki sposób odpowiedź na to pytania by ci pomogą?',
'A co ty myślisz?')),
(r'Jak (.*)',
('A jak myślisz?',
'Może sam odpowiedz sobie na to pytanie',
"Jakie jest twoje PRAWDZIWE pytanie")),
(r'Ponieważ (.*)',
('Czy to na pewno prawdziwy powód?',
'Jakie inne powody przychodzą ci na myśl?',
'Skoro %1, to jakie inne powody są prawdziwe?')),
(r'(.*) przepraszam (.*)',
('Nie masz za co przepraszać',
'Jakie uczucia masz w sobie, gdy przepraszasz?')),
(r'Myślę, że (.*)',
('Jesteś niepewny co do %1?', 'Naprawdę tak myślisz?', "Ale nie jesteś pewien czy %1?")),
(r'Dlaczego (.*)',
("Czemu to ty nie powiesz mi dlaczego %1?", 'CZemu myślisz, że %1?')),
(r'Chcę (.*)',
('Co to by dla ciebie oznaczało, gdybyś dostał %1?',
'Czemu chcesz %1?',
'Co byś zrobił, gdybyś dostał %1?',
'Gdybyś dostał %1, to co byś zrobił?')),
(r'(.*)matka(.*)',
('Powiedz mi więcej o swojej matce.',
'Jak wyglądałą relacja z twoją matką?',
'Jakie są twoje uczucia dziś?')),
(r'(.*) ojciec(.*)',
('Powiedz mi więcej o swoim ojcu.',
'Jak twój ojciec sprawia, że się czujesz?'
)),
(r'(.*)\\?',
('Być może odpowiedź jest w tobie?',
'Czemu to TY nie powiesz MI?',
"Czemu o to pytasz?")),
(r'(.*)',
('Proszę, powiedz mi więcej',
"Zmieńmy temat... opowiedz mi o swojej rodzinie.",
'Możesz rozwinąć?',
'Możesz powiedzieć mi więcej o %1?',
'Rozumiem.',
'To bardzo interesujące',
'Rozumiem.. i co Ci to mówi?',
'Jakie uczucia to w tobie wywołuje?',
'Jak się czujesz, mówiąc to?')),
(
r"Nie moge (.*)",
(
"Skad wiesz, ze nie mozesz %1?",
"Byc moze moglbys %1, gdybys sprobowal.",
"Co musialbys zrobic zeby %1?",
)),
(
r"Jestem (.*)",
(
"Czy rozmawiasz ze mna poniewaz jestes %1?",
"Od jak dawna jestes %1?",
"Jak sie czujesz z tym, ze jestes %1?",
"Jak sie czujesz bedac %1?",
"Dlaczego mowisz mi, ze jestes %1?",
"Dlaczego uwazasz, ze jestes %1?",
)),
(
r"Czy jestes (.*)",
(
"Dlaczego ma to znaczenie czy jestem %1?",
"Czy wolabys gdybym nie byl %1?",
"Byc moze uwazasz, ze jestem %1.",
"Byc moze jestem %1, co o tym sadzisz?",
)),
(
r"Co (.*)",
(
"Dlaczego pytasz?",
"W jaki sposob pomoglaby ci odpowiedz na to pytanie?",
"Co o tym myslisz?",
)),
(
r"Jak (.*)",
(
"Jak sadzisz?",
"Byc moze potrafisz odpowiedziec na swoje wlasne pytanie.",
"O co tak naprawde pytasz?",
)),
(
r"Poniewaz (.*)",
(
"Czy to jest prawdziwy powod?",
"Jakie inne powody przychodza Ci na mysl?",
"Czy ten powod odnosi sie do czegos innego?",
"Jesli %1, to co jeszcze musi byc prawda?",
))
)
def ask(self, question):
question = question.lower()
for i in self.questions:
result = re.match(i[0], question)
if result:
print(random.choice(i[1]))
return
ela = Elizabeth()
print("Cześć, o czym chcesz porozmawiać?")
while True:
question = input().lower()
if question == "cześć" or question == "do widzenia":
print("Do widzenia")
break
ela.ask(question)