for operline in operlist: currentline = separarlista( operline) # separamos una linea en una nueva lista currentoper = currentline[0] currentline.pop(0) # Devuelve operación a realizar y la elimina indice = 1 while currentline[ indice] != '\n': #iteramos en los operandos hasta fin de linea preindice = indice - 1 if preindice == 0: oper1 = int(currentline[preindice]) else: oper1 = result oper2 = int(currentline[indice]) if currentoper == 'suma': result = operaciones.plus(oper1, oper2) elif currentoper == 'resta': result = operaciones.minus(oper1, oper2) elif currentoper == 'multiplica': result = operaciones.mult(oper1, oper2) elif currentoper == 'divide': result = operaciones.div(oper1, oper2) else: sys.exit( "Operaciones permitidas: suma, resta, division, multiplicacion" ) indice = indice + 1 print(result)
from calcoohija import CalculadoraHija ddp = CalculadoraHija() with open('fichero.csv','r') as d lines = csv.lines(d) for row in lines: trozo=row.split(',') resultado=int(trozo[1]) if (row[:row.find(',')]) == "suma": for n in range(2,len(trozo)): resultado = ddp.plus(resultado, int(trozo[n])) print(resultado) elif (row[:row.find(',')]) == "resta": for n in range(2,len(trozo)): trozo=row.split(',') resultado = ddp.minus(resultado, int(trozo[n])) print(resultado) elif (row[:row.find(',')]) == "multiplica": for n in range(2,len(trozo)): trozo=row.split(',') resultado = ddp.mult(resultado, int(trozo[n])) print(resultado)
import sys from calcoohija import CalculadoraHija ddp = CalculadoraHija() if __name__ == "__main__": try: operando1 = int(sys.argv[1]) operando2 = int(sys.argv[3]) except ValueError: sys.exit("Error: Non numerical parameters") if sys.argv[2] == "suma": result = ddp.plus(operando1, operando2) elif sys.argv[2] == "resta": result = ddp.minus(operando1, operando2) elif sys.argv[2] == "multiplica": result = ddp.mult(operando1, operando2) elif sys.argv[2] == "divide": if operando2 != 0: result = ddp.divide(operando1, operando2) else: sys.exit("Error: Division by zero is not allowed") else: sys.exit('Operación sólo puede ser sumar, restar, multiplicar o dividir') print(result)
import csv from calcoohija import CalculadoraHija #Clase que contiene operaciones básicas aritméticas operaciones = CalculadoraHija() #functions: plus,minus,mult y div if __name__ == "__main__": with open('operar.csv') as fich: operlist = csv.reader(fich) for currentline in operlist: currentoper = currentline[0] operandos = currentline[1:] result = int(operandos[0]) indice = 1 while indice < len(operandos): oper2 = int(operandos[indice]) if currentoper == 'suma': result = operaciones.plus(result, oper2) elif currentoper == 'resta': result = operaciones.minus(result, oper2) elif currentoper == 'multiplica': result = operaciones.mult(result, oper2) elif currentoper == 'divide': result = operaciones.div(result, oper2) else: sys.exit( "Operaciones permitidas: suma, resta, division, multiplicacion" ) indice = indice + 1 print(result)
mi_calcu = CalculadoraHija() fich = open(sys.argv[1], "r") lista = fich.readlines() fich.close() for line in lista: listasin = line.split(",") listasin[-1] = listasin[-1][:-1] operacion = listasin[0] operandos = listasin[1:] print(operandos) if operacion == "suma": op_aux = int(operandos[0]) for operando in operandos[1:]: op_aux = mi_calcu.plus(op_aux, int(operando)) print("El resultado de la suma es:", op_aux) elif operacion == "resta": op_aux = int(operandos[0]) for operando in operandos[1:]: op_aux = mi_calcu.minus(op_aux, int(operando)) print("El resultado de la resta es:", op_aux) elif operacion == "multiplica": op_aux = int(operandos[0]) for operando in operandos[1:]: op_aux = mi_calcu.multi(op_aux, int(operando)) print("El resultado de la multiplicacion es:", op_aux) elif operacion == "divide":
result = 0 primera_iteracion = True for operando in operandos[:-1]: if primera_iteracion is True: operando1 = int(operandos[0]) operando2 = int(operandos[1]) primera_iteracion = False else: operandos = operandos[1:] operando1 = int(result) operando2 = int(operandos[1]) if operador == "suma": result = (calchija.plus(operando1, operando2)) elif operador == "resta": result = (calchija.minus(operando1, operando2)) elif operador == "multiplica": result = (calchija.mult(operando1, operando2)) elif operador == "divide": result = (calchija.div(operando1, operando2)) else: sys.exit("Error: La operación sólo puede ser suma" + "resta, multiplica o divide") print("El resultado es " + str(result)) except ValueError: sys.exit("Error: Non numerical parameters") except ZeroDivisionError:
# -*- coding: utf-8 -*- import sys import csv from calcoohija import CalculadoraHija Calc_Hija = CalculadoraHija() with open(sys.argv[1]) as fichero: reader = csv.reader(fichero) for linea in reader: operandos = linea[1:] if linea[0] == 'suma': operando_aux = 0 for operado in operandos: suma = Calc_Hija.plus(operando_aux, int(operado)) operando_aux = suma elif linea[0] == 'resta': operando_aux = int(operandos[0]) for operando in operandos[1:]: operando_aux = Calc_Hija.minus(operando_aux, int(operando)) resta = operando_aux elif linea[0] == 'multiplica': operando_aux = 1 for operado in operandos: producto = Calc_Hija.multiplicacion(operando_aux, int(operado)) operando_aux = producto elif linea[0] == 'divide': try: operando_aux = int(operandos[0]) for operando in operandos[1:]:
lista = fich.readlines() # lista con todas las lineas fich.close() for linea in lista: elemento = linea.split(',') # troceamos la cadena con el argumento "," elemento[-1] = elemento[-1][:-1] # Eliminamos los saltos de linea (\n) operacion = elemento[0] operandos = elemento[1:] # Desde el elemento 1 al final.. op_aux = int() if operacion == 'suma': op_aux = 0 for op_final in operandos: result1 = Mi_Calcu.plus(op_aux, int(op_final)) op_aux = result1 print('El resultado de la suma es: ' + str(result1)) elif operacion == 'resta': op_aux = int(operandos[0]) for op_final in operandos[1:]: result2 = Mi_Calcu.minus(op_aux, int(op_final)) op_aux = result2 print('El resultado de la resta es: ' + str(result2)) elif operacion == 'multiplica': op_aux = 1