55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
|
|
pairs = {
|
|
r'.*czuję się (.*)': [
|
|
'Dlaczego czujesz się %1?',
|
|
'Czy to zawsze tak jest, kiedy czujesz się %1?'
|
|
'Co zazwyczaj robisz, kiedy się tak czujesz %1?'
|
|
],
|
|
r'.*lubię (.*)': [
|
|
'Co najbardziej lubisz w %1?',
|
|
'Dlaczego lubisz %1?',
|
|
'Czy jest coś jeszcze, co lubisz poza %1?'
|
|
],
|
|
r'.*nie lubię (.*)': [
|
|
'Co najmniej lubisz w %1?',
|
|
'Dlaczego nie lubisz %1?',
|
|
'Czy jest coś jeszcze, czego nie lubisz oprócz %1?'
|
|
],
|
|
r'.*dlaczego (.*)': [
|
|
'Czy naprawdę potrzebujesz znać powód?',
|
|
'Czy to jest ważne dla ciebie?'
|
|
'Dlaczego %1 jest ważne dla ciebie?'
|
|
],
|
|
r'.*jak (.*)': [
|
|
'Jak myślisz, jak %1 wpłynie na twoje życie?',
|
|
'Czy myślisz, że warto wiedzieć, jak %1?',
|
|
'Czy wiedza, jak %1? jest w stanie ci pomóc?'
|
|
]
|
|
}
|
|
|
|
|
|
# funkcja zwracająca odpowiedź na zadane pytanie
|
|
def eliza_response(message):
|
|
for key, answers in pairs.items():
|
|
matches = re.match(key, message.lower())
|
|
if matches:
|
|
chosen_answer = random.choice(answers)
|
|
return chosen_answer
|
|
return "Nie rozumiem"
|
|
|
|
# pętla główna programu
|
|
def main():
|
|
print('Cześć, jestem Eliza. Jak się czujesz dzisiaj?')
|
|
while True:
|
|
insert = input('Ty: ')
|
|
if insert.lower() in ['do widzenia', 'do zobaczenia', 'na razie'
|
|
'pa', 'cześć', 'żegnam', 'do usłyszenia',
|
|
'zakończ', 'koniec', 'elo', 'żegnaj'
|
|
'do usłyszenia', 'pa pa', 'do następnego razu']:
|
|
print('Eliza: Do widzenia!')
|
|
break
|
|
print(eliza_response(insert))
|
|
|
|
|
|
main()
|