Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- operacije = {
- '(' : 0,
- '+' : 1,
- '-' : 1,
- '*' : 2,
- '/' : 2,
- '^' : 3
- }
- out = []
- def inf2post(izraz, stek):
- for token in izraz:
- if token == "(":
- stek.push(token)
- elif token == ')':
- while stek.top() != '(':
- out.append(stek.pop())
- stek.pop()
- elif token not in operacije:
- out.append(token)
- else:
- if not stek.is_empty():
- if operacije[token] <= operacije[stek.top()]:
- while not stek.is_empty() and operacije[token] <= operacije[stek.top()]:
- out.append(stek.pop())
- stek.push(token)
- else:
- stek.push(token)
- else:
- stek.push(token)
- if not stek.is_empty():
- out.append(stek.pop())
- while not stek.is_empty():
- out.append(stek.pop())
- return out
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement