Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import sin, cos, sqrt
- numbers = []
- perem = {}
- string = input().split()
- while True:
- try:
- name, value = input().split('=')
- perem[name] = float(value)
- except Exception:
- break
- try:
- for token in string:
- if token == '+':
- numbers.append(numbers.pop() + numbers.pop())
- elif token == '-':
- b, a = numbers.pop(), numbers.pop()
- numbers.append(a - b)
- elif token == '*':
- numbers.append(numbers.pop() * numbers.pop())
- elif token == '/':
- b, a = numbers.pop(), numbers.pop()
- numbers.append(a / b)
- elif token == 'abs':
- numbers.append(abs(numbers.pop()))
- elif token == 'sin':
- numbers.append(sin(numbers.pop()))
- elif token == 'cos':
- numbers.append(cos(numbers.pop()))
- elif token == 'sqrt':
- numbers.append(sqrt(numbers.pop()))
- else:
- try:
- numbers.append(perem[token])
- except KeyError:
- numbers.append(float(token))
- if len(numbers) == 1:
- print(f'{numbers.pop():.3f}')
- else: raise Exception
- except Exception:
- print('ERROR')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement