Я изучаю Python за последние несколько дней, и я написал этот фрагмент кода для оценки постфиксного выражения.Операторы Python
postfix_expression = "34*34*+"
stack = []
for char in postfix_expression :
try :
char = int(char);
stack.append(char);
except ValueError:
if char == '+' :
stack.append(stack.pop() + stack.pop())
elif char == '-' :
stack.append(stack.pop() - stack.pop())
elif char == '*' :
stack.append(stack.pop() * stack.pop())
elif char == '/' :
stack.append(stack.pop()/stack.pop())
print stack.pop()
Есть ли способ избежать этого огромного блока if else? Как и в, существует ли модуль, который принимает математический оператор в строковой форме и вызывает соответствующий математический оператор или некоторую идиому python, которая делает это простым?
Это круто, мне нравится Python. +1 – Boldewyn