-
Notifications
You must be signed in to change notification settings - Fork 0
/
pharmacy_csp.py
37 lines (27 loc) · 1.25 KB
/
pharmacy_csp.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
from constraint import *
class pharmacy_csp(Problem):
def __init__(self, solver=None):
super().__init__(solver=solver)
self.farmaci = self.addVariable("farmaci", ["vitamina_b12", "integratore_ferro", "paracetamolo", "integratore_biotina", "vitamina_c"])
self.quantita = self.addVariable("quantita", [1, 2, 3, 4])
self.availability = None
def prenota_farmaco(self):
self.availability = self.getSolutions()
choices = []
if len(self.availability) > 0:
print("Farmaci disponibili:\n")
for index, solution in enumerate(self.availability):
farmaco = solution['farmaci']
quantita = solution['quantita']
choices.append((farmaco, quantita))
#print("%d. Farmaco: %s, Quantità: %d" % (index + 1, farmaco, quantita))
else:
print("Nessun farmaco disponibile.")
return choices
def stampa_soluzione(self):
if self.availability is not None:
print("Prenotazione effettuata:\n")
for solution in self.availability:
print("Farmaco: %s, Quantità: %d" % (solution['farmaci'], solution['quantita']))
else:
print("Nessuna soluzione trovata.")