Browse Source

Transférer les fichiers vers ''

Fonctionnel, il a 5000 ELO...
master
DELPUI Loïc 10 months ago
parent
commit
be2830cc9d
  1. 56
      Stockfish mais pour les maths.py

56
Stockfish mais pour les maths.py

@ -7,27 +7,45 @@ class Expression:
self.droit = droit self.droit = droit
def evalue(self): def evalue(self):
if self == None: dfs_post(self)
return print(self.valeur)
if self.gauche != None:
self.gauche.evalue()
if self.droit != None:
self.droit.evalue()
if self.valeur == "+":
self.valeur = self.gauche.valeur + self.droit.valeur
if self.valeur == "*":
self.valeur = self.gauche.valeur * self.droit.valeur
def __str__(self): def __str__(self):
pass expstr = dfs_in(self, "")
return expstr
exp = Expression('*', def dfs_post(a):
Expression(6, None, None), if a == None:
Expression('+', return
Expression(4, None, None), dfs_post(a.gauche)
Expression(3, None, None) dfs_post(a.droit)
) if a.valeur == "+":
) a.valeur = a.gauche.valeur + a.droit.valeur
if a.valeur == "*":
a.valeur = a.gauche.valeur * a.droit.valeur
def dfs_in(a, expstr):
if a == None:
return expstr
expstr = dfs_in(a.gauche, expstr)
expstr = expstr + str(a.valeur)
expstr = dfs_in(a.droit, expstr)
return expstr
def npi2tree(exptext):
exptext = exptext.split()
expression = Pile_chaine()
for element in exptext:
if element in ("+", "*"):
droit = expression.depiler()
gauche = expression.depiler()
expression.empiler(Expression(element, gauche, droit))
else:
expression.empiler(Expression(int(element), None, None))
return expression.sommet()
exp = "6 4 3 * +"
exp = npi2tree(exp)
print(exp)
exp.evalue() exp.evalue()
print(exp.valeur)
Loading…
Cancel
Save