-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathviryusa.py
More file actions
30 lines (29 loc) · 898 Bytes
/
viryusa.py
File metadata and controls
30 lines (29 loc) · 898 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def expr(val):
val = list(val)
stack = list()
numb = ""
while len(val) > 0:
c = val.pop(0)
if c in "0123456789":
numb += c
else:
if numb != "":
stack.append(num)
numb = ""
if c in "+-*/":
stack.append(c)
elif c == ")":
num2 = stack.pop()
op = stack.pop()
num1 = stack.pop()
if op == "+":
stack.append(str(float(num1) + float(num2)))
elif op == "-":
stack.append(str(float(num1) - float(num2)))
elif op == "*":
stack.append(str(float(num1) * float(num2)))
elif op == "/":
stack.append(str(float(num1) / float(num2)))
return stack.pop()
val = input()
print(eval(val))