generating responses

This commit is contained in:
Mikołaj Mrożewski 2023-03-16 14:53:36 +01:00
parent b72ec326cb
commit 205b629b2d

33
main.py
View File

@ -1,6 +1,16 @@
import re
import random
pairs = {
r'.*czuję się (.*)': [
dictionary = {
"cześć": ["Witaj. Jak mogę Ci pomóc?",
"Cześć. Co Ciebie dzisiaj sprowadza?",
"Hej, tu Eliza. O czym chcesz porozmawiać?"],
"tak": ["Dobrze, a powiedz coś więcej."],
"nie": ["Dlaczego nie?", "Co skłania Cię do tej odpowiedzi?"],
r'czuję się (.*)': [
'Dlaczego czujesz się %1?',
'Czy to zawsze tak jest, kiedy czujesz się %1?'
'Co zazwyczaj robisz, kiedy się tak czujesz %1?'
@ -29,24 +39,25 @@ pairs = {
# funkcja zwracająca odpowiedź na zadane pytanie
def eliza_response(message):
for key, answers in pairs.items():
matches = re.match(key, message.lower())
def elisa_response(input_text):
for pattern, response_list in dictionary.items():
matches = re.match(pattern, input_text.lower())
if matches:
chosen_answer = random.choice(answers)
return chosen_answer
return "Nie rozumiem"
chosen_response = random.choice(response_list)
return chosen_response.format(*matches.groups())
return "Nie rozumiem."
# pętla główna programu
def main():
print('Cześć, jestem Eliza. Jak się czujesz dzisiaj?')
while True:
insert = input('Ty: ')
insert = input('')
if insert.lower() in ['do widzenia', 'do zobaczenia', 'na razie'
'pa', 'cześć', 'żegnam', 'do usłyszenia',
'pa', 'żegnam', 'do usłyszenia',
'zakończ', 'koniec', 'elo', 'żegnaj'
'do usłyszenia', 'pa pa', 'do następnego razu']:
print('Eliza: Do widzenia!')
print('Do widzenia!')
break
print(eliza_response(insert))