Escribir un programa que reciba como entrada dos posibles expresiones en notación inorden,y como salida imprima el resultado de las operaciones empleando árboles binarios y lacalculadora HP-35. Expresión 1: ( a operador1 b ) operador2 ( c operador3 d ) Expresión 2: ( a operador1 b )
def calculate(exp): # first we get the operators operator1 = exp[1] operator2 = exp[3] # now we get the numbers # note how we use different slicing # based on the length of the list if len(exp) > 5: a = exp[0] b = exp[2] c = exp[4] d = exp[6] else: a = exp[0] b = exp[2] c = 0 d = 0 # if else statements # to determine which operator to use if operator1 == '*': if operator2 == '+': return (a * b) + (c + d) elif operator2 == '-': return (a * b) + (c - d) elif operator2 == '*': return (a * b) * (c * d) elif operator2 == '/': return (a * b) * (c