Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sys import stdin, exit as sys_exit
- f = open('input.txt')
- stack = []
- dict = {}
- a = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}
- s = readline().split()
- l = 0
- size = 0
- for line in f:
- d[line[0]] = line[2:]
- for i in s:
- if (s[i] in a):
- stack.append(int(dict[s[i]]))
- size += 1
- l += 1
- else:
- if (size > 0):
- if (s[i] == 'sqrt'):
- p = sqrt(stack[l])
- stack[l] = p
- elif (s[i] == 'sin'):
- p = sin(stack[l])
- stack[l] = p
- elif (s[i] == 'cos'):
- p = cos(stack[l])
- stack[l] = p
- elif (s[i] == abs):
- p = -1 * s[i]
- stack[l] = p
- else:
- print('ERROR')
- sys_exit()
- elif (size > 1):
- if (s[i] == '+'):
- p = s[l] + s[l - 1]
- l -= 1
- elif (s[i] == '-'):
- p = s[l] - s[l - 1]
- l -= 1
- elif (s[i] == '/'):
- p = s[l] / s[l-1]
- stack[l] = p
- elif (s[i] == '*'):
- p = s[l] * s[l-1]
- l -= 1
- size -= 1
- stack[l] = p
- else:
- print('ERROR')
- sys_exit()
- if (size == 1):
- print(stack[0])
- else:
- print('ERROR')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement