Skip to content

Instantly share code, notes, and snippets.

@andriiburka
Created June 23, 2020 20:08
Show Gist options
  • Save andriiburka/d33bece089c46f6c54b52bc4a597ac5f to your computer and use it in GitHub Desktop.
Save andriiburka/d33bece089c46f6c54b52bc4a597ac5f to your computer and use it in GitHub Desktop.
from _collections import deque
my_list = input().split()
print(my_list)
operator = ["*", "+", "-", "/"]
evaluate_list = deque()
result = 0
for el in my_list:
if el not in operator:
current_digit = float(el)
evaluate_list.append(current_digit)
else:
if el == "*":
while evaluate_list:
number = evaluate_list.popleft()
result = number * (evaluate_list.popleft())
evaluate_list.appendleft(result)
elif el == "/":
while evaluate_list:
number = evaluate_list.popleft()
result = number / (evaluate_list.popleft())
evaluate_list.appendleft(result)
elif el == "+":
while evaluate_list:
number = evaluate_list.popleft()
result = number + (evaluate_list.popleft())
evaluate_list.appendleft(result)
elif el == "-":
while evaluate_list:
number = evaluate_list.popleft()
result = number - (evaluate_list.popleft())
evaluate_list.appendleft(result)
print(result)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment