Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. class Pile_Entier:
  2. def __init__(self, taille =100):
  3. self.taille = taille
  4. self.pile = []
  5.  
  6. def empiler(self, element):
  7. assert not self.est_Pleine()
  8. self.pile.append(element)
  9.  
  10. def depiler(self):
  11. assert not self.est_Vide()
  12. return self.pile.pop()
  13.  
  14. def sommet(self):
  15. return self.pile[-1]
  16.  
  17. def est_Vide(self):
  18. return len(self.pile) == 0
  19.  
  20. def est_Pleine(self):
  21. return len(self.pile) == self.taille
  22.  
  23. def purger(self):
  24. assert not self.est_Vide()
  25. i = taille - 1
  26. while i > -1:
  27. self.pile.pop()
  28. i -= 1
  29.  
  30. def afficher(self):
  31. assert not self.est_Vide()
  32. for i in self.pile:
  33. print(i)
  34.  
  35. class Calculatrice():
  36. def __init__(self):
  37. self.pile = Pile_Entier()
  38.  
  39. def npi(self,saisie):
  40. saisie = saisie.split()
  41. print(saisie)
  42. op =("+-*")
  43. for c in saisie:
  44. if c not in op:
  45. self.pile.empiler(c)
  46. else:
  47. a = int(self.pile.depiler())
  48. b = int(self.pile.depiler())
  49. if c == "+":
  50. self.pile.empiler(b+a)
  51. elif c == "-":
  52. self.pile.empiler(b - a)
  53. else:
  54. self.pile.empiler(b * a)
  55.  
  56. return self.pile.depiler()
  57.  
  58.  
  59. c = Calculatrice()
  60. print(c.npi("2 3 + 4 - "))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement