generating responses
This commit is contained in:
parent
b72ec326cb
commit
205b629b2d
35
main.py
35
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()
|
Loading…
Reference in New Issue
Block a user