def calcula_linea(line): """Realiza las operaciones que se marcan en cada linea del fichero""" operaciones = line.split(',') operacion = operaciones[0] try: funcion = calcoo.dicc[operacion] except: sys.exit('Operación no válida.') operandos = operaciones[1:] operandos[-1] = operandos[-1][:-1] result = calcoo.numero(operandos[0]) for operando in operandos[1:]: operando1 = calcoo.numero(operando) result = calcoo.calculos(funcion, result, operando1) return result
import calcoo class CalculadoraHija(calcoo.Calculadora): #operacion producto def prod(self, op1, op2): return op1 * op2 def div(self, op1, op2): #Operacion division try: return op1 / op2 except ZeroDivisionError: sys.exit("Division by zero is not allowed") c1 = CalculadoraHija() #Añadimos al diccionario las nuevas operaciones calcoo.dicc["multiplica"] = c1.prod calcoo.dicc["divide"] = c1.div if __name__ == "__main__": operando1 = calcoo.numero(sys.argv[1]) operando2 = calcoo.numero(sys.argv[3]) try: funcion = calcoo.dicc[sys.argv[2]] except: sys.exit('Operación no válida.') print(calcoo.calculos(funcion, operando1, operando2))