给定一个算式运算,算式由运算数、+、-、*、/、(、)组成,请编写程序判断该算式运算是否合法。如果合法,计算该算式的值。 输入描述: 第一行输入一个运算表达式 输出描述: 如果表达式合法则计算其值,结果保留两位小数,如果不合法则输出 表达式不合法! 输入样例: (5+3)*9 输出样例: 72.00s
def calculate(expression):
# 定义操作符优先级
precedence = {'+': 1, '-': 1, '*': 2, '/': 2}
def is_operator(char):
return char in precedence
def apply_operation(op, a, b):
if op == '+':
return a + b
elif op == '-':
return a - b
elif op == '*':
return a * b
elif op == '/':
return a / b
# 使用两个栈来分别存储操作数和操作符
numbers = []
operators = []
i = 0
while i < len(expression):
char
标签:elif,合法性,return,运算,算式,合法,歌易,op
From: https://blog.csdn.net/fdxy12138/article/details/139505617