diff --git a/main.py b/main.py index 59d25f2..f56bdb3 100644 --- a/main.py +++ b/main.py @@ -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,26 +39,27 @@ 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)) -main() +main() \ No newline at end of file