2023-03-16 14:53:36 +01:00
|
|
|
import re
|
|
|
|
import random
|
2023-03-16 14:00:56 +01:00
|
|
|
|
2023-03-16 14:53:36 +01:00
|
|
|
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ę (.*)': [
|
2023-03-17 12:33:44 +01:00
|
|
|
'Dlaczego tak się czujesz?'
|
2023-03-16 14:00:56 +01:00
|
|
|
],
|
|
|
|
r'.*lubię (.*)': [
|
2023-03-17 12:33:44 +01:00
|
|
|
'Co najbardziej w tym lubisz?',
|
|
|
|
'Dlaczego to lubisz?'
|
2023-03-16 14:00:56 +01:00
|
|
|
],
|
|
|
|
r'.*nie lubię (.*)': [
|
2023-03-17 12:33:44 +01:00
|
|
|
'Dlaczego tego nie lubisz?'
|
2023-03-16 14:00:56 +01:00
|
|
|
],
|
|
|
|
r'.*dlaczego (.*)': [
|
|
|
|
'Czy naprawdę potrzebujesz znać powód?',
|
2023-03-17 12:33:44 +01:00
|
|
|
'Czy to jest ważne dla ciebie?'
|
2023-03-16 15:33:17 +01:00
|
|
|
],
|
2023-03-16 15:14:24 +01:00
|
|
|
r'.*moje hobby to (.*)': [
|
2023-03-17 12:33:44 +01:00
|
|
|
'Jak długo już się ty, interesujesz?',
|
|
|
|
'Czy to jest dla Ciebie sposobem na odprężenie?',
|
2023-03-16 15:14:24 +01:00
|
|
|
],
|
|
|
|
r'.*nienawidzę (.*)': [
|
2023-03-17 12:33:44 +01:00
|
|
|
'Czemu tak tego bardzo nie lubisz?',
|
|
|
|
'Czy istnieje możliwość, że twoje uczucia wobec tego się zmienią?'
|
2023-03-16 15:14:24 +01:00
|
|
|
]
|
2023-03-16 14:00:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# funkcja zwracająca odpowiedź na zadane pytanie
|
2023-03-16 14:53:36 +01:00
|
|
|
def elisa_response(input_text):
|
2023-03-16 15:14:24 +01:00
|
|
|
if not input_text:
|
2023-03-16 15:33:17 +01:00
|
|
|
return "Nie napisałeś nic"
|
2023-03-16 14:53:36 +01:00
|
|
|
for pattern, response_list in dictionary.items():
|
|
|
|
matches = re.match(pattern, input_text.lower())
|
2023-03-16 14:40:46 +01:00
|
|
|
if matches:
|
2023-03-16 14:53:36 +01:00
|
|
|
chosen_response = random.choice(response_list)
|
2023-03-17 12:33:44 +01:00
|
|
|
return chosen_response
|
2023-03-16 14:53:36 +01:00
|
|
|
return "Nie rozumiem."
|
|
|
|
|
2023-03-16 14:00:56 +01:00
|
|
|
|
|
|
|
# pętla główna programu
|
|
|
|
def main():
|
|
|
|
print('Cześć, jestem Eliza. Jak się czujesz dzisiaj?')
|
|
|
|
while True:
|
2023-03-16 14:56:17 +01:00
|
|
|
insert = input('Ty: ')
|
2023-03-16 14:00:56 +01:00
|
|
|
if insert.lower() in ['do widzenia', 'do zobaczenia', 'na razie'
|
2023-03-16 14:53:36 +01:00
|
|
|
'pa', 'żegnam', 'do usłyszenia',
|
2023-03-16 14:00:56 +01:00
|
|
|
'zakończ', 'koniec', 'elo', 'żegnaj'
|
|
|
|
'do usłyszenia', 'pa pa', 'do następnego razu']:
|
2023-03-16 14:56:17 +01:00
|
|
|
print('Eliza: Do widzenia!')
|
2023-03-16 14:00:56 +01:00
|
|
|
break
|
2023-03-16 14:57:18 +01:00
|
|
|
print("Eliza: " + elisa_response(insert))
|
2023-03-16 14:00:56 +01:00
|
|
|
|
|
|
|
|
2023-03-16 15:00:48 +01:00
|
|
|
main()
|