import re import random 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?' ], 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 elisa_response(input_text): for pattern, response_list in dictionary.items(): matches = re.match(pattern, input_text.lower()) if matches: 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: ') if insert.lower() in ['do widzenia', 'do zobaczenia', 'na razie' 'pa', 'ż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: " + elisa_response(insert)) main()