-
Notifications
You must be signed in to change notification settings - Fork 0
/
eliza_ita.py
132 lines (128 loc) · 4.41 KB
/
eliza_ita.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
import random
exit_phrases = [
"Arrivederci. È stato piacevole parlare con lei",
"Arrivederci. È stata una piacevole chiacchierata",
"Arrivederci. Non vedo l'ora di un nuovo incontro.",
"È stato un bell'incontro, vero? Ma il tempo è finito. Arrivederci.",
"Forse vorresti parlarne di più in un prossimo incontro? Arrivederci.",
]
intro_questions = [
"Salve sono Eliza, una simulazione di uno psicologo rogeriano. Come va? Mi dica il suo problema.",
"Salve sono Eliza, per favore, mi dica cosa la turba.",
"Salve sono Eliza, parliamo un po'.",
]
# choose a random intro question
intro_question = random.choice(intro_questions)
print (intro_question)
input_string = ""
response = ""
quit_commands = ["arrivederci", "addio", "finito", "exit", "quit"]
questions = {
"Come va oggi?": [
"bene", "ottimo", "fantastico",
],
"Come hai dormito?": [
"bene", "male", "abbastanza",
],
"Hai fatto colazione?": [
"si", "no", "non ancora",
],
"Come ti senti emozionalmente?": [
"felice", "triste", "arrabbiato", "nervoso", "stressato","bene","male"
],
"Hai qualche progetto per oggi?": [
"si", "no", "non lo so",
],
"Come ti senti fisicamente?": [
"bene", "male", "stanco", "affaticato"
],
"Hai fatto qualche attività oggi?": [
"si", "no", "poca"
],
"Hai programmato qualcosa per domani?": [
"si", "no", "non ancora"
],
"Come ti senti fisicamente?": [
"bene", "male", "stanco", "affaticato"
],
"Come ti senti emozionalmente oggi?": [
"bene", "male", "felice", "triste", "nervoso", "ansioso"
],
"Hai fatto qualcosa di divertente oggi?": [
"si", "no", "non ancora"
],
"Hai incontrato qualcuno di interessante oggi?": [
"si", "no", "non ancora"
],
"Hai apprezzato qualcosa di particolare oggi?": [
"si", "no", "non ancora"
],
"Hai imparato qualcosa di nuovo oggi?": [
"si", "no", "non ancora"
],
"Hai fatto qualcosa per gli altri oggi?": [
"si", "no", "non ancora"
],
"Hai fatto qualcosa per te oggi?": [
"si", "no", "non ancora"
],
"Cosa hai fatto ieri sera?": [
"ho visto un film", "sono stato fuori con gli amici", "ho letto un libro", "non ricordo"
],
"Hai programmato qualcosa per domani?": [
"si", "no", "non ancora"
],
"Hai qualche preoccupazione in questo momento?": [
"si", "no"
],
"Hai qualche progetto a lungo termine?": [
"si", "no", "non lo so"
],
"Stai seguendo una dieta o un allenamento?": [
"si", "no", "sto provando"
],
"Hai fatto qualcosa di divertente ultimamente?": [
"si", "no", "non recentemente"
],
"Hai viaggiato ultimamente?": [
"si", "no", "prossimamente"
],
"Hai incontrato qualcuno di interessante ultimamente?": [
"si", "no", "non recentemente"
],
}
while True:
question = random.choice(list(questions.keys()))
input_string = input(question + " ")
input_string = input_string.lower()
if input_string in quit_commands:
# choose a random exit question
exit_phrase = random.choice(exit_phrases)
print(exit_phrase)
break
while input_string not in questions[question]:
input_string = input("Non capisco cosa vuoi dire, potresti ripetere per favore?")
input_string = input_string.lower()
question = random.choice(list(questions.keys()))
input_string = input(question + " ")
while input_string.lower() not in questions[question]:
input_string = input("Non capisco cosa vuoi dire, potresti ripetere per favore? ")
if input_string.lower() in ["bene", "ottimo", "fantastico"]:
response = "Sono felice di sentirlo!"
elif input_string.lower() in ["male", "terribilmente", "pessimo"]:
response = "Mi dispiace sentirlo. Cosa è successo?"
elif input_string.lower() in ["si", "no", "non ancora"]:
if input_string.lower() == "si":
response = "Bene, è importante quello che fai!"
else:
response = "D'accordo, puoi farlo in seguito."
elif input_string.lower() in ["felice", "triste", "arrabbiato", "nervoso", "stressato","bene","male"]:
if input_string.lower() in ["felice","bene"]:
response = "Sono felice per te!"
elif input_string.lower() in ["triste","male"]:
response = "Mi dispiace sentirlo. Cosa è successo?"
else:
response = "Capisco. Parlami un po' di più su come ti senti emozionalmente."
else:
response = "Interessante, parlami del tuo progetto."
print(response)