Created
June 23, 2020 20:08
-
-
Save andriiburka/d33bece089c46f6c54b52bc4a597ac5f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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