Advertisement
canezzy

Untitled

Dec 9th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. operacije = {
  2. '(' : 0,
  3. '+' : 1,
  4. '-' : 1,
  5. '*' : 2,
  6. '/' : 2,
  7. '^' : 3
  8. }
  9. out = []
  10. def inf2post(izraz, stek):
  11. for token in izraz:
  12. if token == "(":
  13. stek.push(token)
  14. elif token == ')':
  15. while stek.top() != '(':
  16. out.append(stek.pop())
  17. stek.pop()
  18. elif token not in operacije:
  19. out.append(token)
  20. else:
  21. if not stek.is_empty():
  22. if operacije[token] <= operacije[stek.top()]:
  23. while not stek.is_empty() and operacije[token] <= operacije[stek.top()]:
  24. out.append(stek.pop())
  25. stek.push(token)
  26. else:
  27. stek.push(token)
  28. else:
  29. stek.push(token)
  30.  
  31. if not stek.is_empty():
  32. out.append(stek.pop())
  33. while not stek.is_empty():
  34. out.append(stek.pop())
  35.  
  36. return out
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement