def calculate(operations_line): calcoo = CalculadoraHija() method, numbers = convert_line(operations_line) # Check if the method exists in the class if method not in dir(CalculadoraHija): raise SystemExit('Error: Operation unsupported') calcoo.ans = numbers[0] # Temporarily assigns the first number to result for number in numbers[1:]: # Skip 1st number assigned to ans getattr(calcoo, method)(calcoo.ans, number) calcoo.show()
#!/usr/bin/python3 # -*- coding: utf-8 -*- import sys from calcoohija import CalculadoraHija calcu = CalculadoraHija() if __name__ == "__main__": try: fichero = open(str(sys.argv[1])) lineas = fichero.readlines() fichero.close() for linea in lineas: linea = linea[:-1].split(",") result = 0 operacion = linea[0] primera_iteracion = True for operando in linea[1:-1]: if primera_iteracion is True: operando1 = int(operando) primera_iteracion = False else: operando1 = result operando2 = int(linea[linea.index(operando) + 1])
# -*- coding: utf-8 -*- import sys from calcoohija import CalculadoraHija #Clase que contiene operaciones básicas aritméticas def separarlista(cadena): """""" newlist = cadena.split(',') lastelem = newlist[-1].split('\n') newlist[-1] = lastelem[0] newlist.append('\n') return newlist operaciones = CalculadoraHija() #functions: plus,minus,mult y div if __name__ == "__main__": fich = open('operar.txt', 'r') operlist = fich.readlines( ) # guardamos las operaciones del fichero en una lista fich.close 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
#!/usr/bin/python3 # -*- coding: utf-8 -*- 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')
#!/usr/bin/python3 # -*- coding: utf-8 -*- import csv import sys from calcoo import Calculadora from calcoohija import CalculadoraHija with open(sys.argv[1], newline='') as csv_archivo: entrada = csv.reader(csv_archivo) for line in entrada: operador = line[0] operandos = line[1:] result = int(operandos[0]) for op in operandos[1:]: if operador == 'suma': result = Calculadora(result, int(op)).plus() elif operador == 'resta': result = Calculadora(result, int(op)).minus() elif operador == 'multiplica': result = CalculadoraHija(result, int(op)).multiply() elif operador == 'divide': result = CalculadoraHija(result, int(op)).division() print(result)
try: numero = int(numero) lista.append(numero) except ValueError: sys.exit("Error: Not number") if len(lista) == 0: resul = 0 else: resul = int(operaciones[1]) # ["suma", 1, 2, 3, 4, 5] -> 1 operador = operaciones[0] # ["suma", 1, 2, 3, 4, 5] -> "suma" if operador == 'suma': for operando in lista[1:]: op = CalculadoraHija(resul, operando) resul = op.suma() elif operador == 'resta': for operando in lista[1:]: op = CalculadoraHija(resul, operando) resul = op.resta() if operador == 'multiplica': for operando in lista[1:]: op = CalculadoraHija(resul, operando) resul = op.multiplica() elif operador == 'divide': for operando in lista[1:]: op = CalculadoraHija(resul, operando) resul = op.divide()
#!/usr/bin/python3 # -*- coding: utf-8 -*- import sys import csv 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)
#!/usr/bin/python3 # -*- coding: utf-8 -*- import sys from calcoohija import CalculadoraHija if __name__ == "__main__": nombre_fichero = sys.argv[1] try: fichero = open(nombre_fichero) except IOError: sys.exit("No existe el fichero indicado") calculadora = CalculadoraHija() for line in fichero.readlines(): elementos = line.split(',') resultado = int(elementos[1]) if elementos[0] == "suma": try: for operando in elementos[2:]: resultado = calculadora.sum(resultado, int(operando)) print(resultado) except ValueError: print("Un valor es valido") elif elementos[0] == "resta": try: for operando in elementos[2:]: resultado = calculadora.rest(resultado, int(operando)) print(resultado) except ValueError: print("Un valor no es valido")
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys import csv from calcoohija import CalculadoraHija if __name__ == "__main__": try: with open(sys.argv[1]) as csvfile: lector = csv.reader(csvfile) calc1 = CalculadoraHija() for line in lector: acumulador = int(line[1]) if line[0] == "suma": try: for valor in line[2:]: acumulador = calc1.suma(acumulador, int(valor)) print(acumulador) except ValueError: print("Un valor en la suma no es valido") elif line[0] == "resta": try: for valor in line[2:]: acumulador = calc1.resta(acumulador, int(valor)) print(acumulador) except ValueError: print("Un valor en la resta no es valido") elif line[0] == "multiplica": try: for valor in line[2:]:
#!/usr/bin/python3 # -*- coding: utf-8 -*- import sys import csv from calcoohija import CalculadoraHija calc = CalculadoraHija() fichero = sys.argv[1] if __name__ == "__main__": with open(fichero, newline='') as File: reader = csv.reader(File) for row in reader: word_Position = 0 if row[0] == "suma": plus = 0 for word in row: if word_Position != 0: plus = calc.suma(plus, int(row[word_Position])) word_Position += 1 print(plus) elif row[0] == "resta": minum = int(row[1]) * 2 for word in row: if word_Position != 0: minum = calc.resta(minum, int(row[word_Position])) word_Position += 1 print(minum) elif row[0] == "multiplica": mult = 1
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Fri Sep 28 12:36:31 2018 @author: victor """ import sys from calcoohija import CalculadoraHija if __name__ == "__main__": 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":
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys import csv from calcoohija import CalculadoraHija calchija = CalculadoraHija() if __name__ == "__main__": try: texto = [] with open(sys.argv[1]) as Fich: fich = csv.reader(Fich) for linea in fich: elemento = ", ".join(linea) texto.append(elemento) for linea in texto: linea = linea.split(",") operador = linea[0] operandos = linea[1:] print(linea) result = 0 primera_iteracion = True for operando in operandos[:-1]: if primera_iteracion is True: operando1 = int(operandos[0])
#!/usr/bin/python3 # -*- 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])
# -*- coding: utf-8 -*- import csv import sys from calcoohija import CalculadoraHija if len(sys.argv) != 2: sys.exit("Úsalo así: python3 calcplusplus.py fichero") if __name__ == "__main__": with open(sys.argv[1], 'r') as csvfile: fichero = csv.reader(csvfile) calculadora = CalculadoraHija() for line in fichero: primero = line[0] numbers = line[1:] if primero == "suma": resultado = int(line[1]) for number in numbers[1:]: resultado = calculadora.suma(resultado, int(number)) print(resultado) elif primero == "resta": resultado = int(line[1]) for number in numbers[1:]: resultado = calculadora.resta(resultado, int(number)) print(resultado)
#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ @author: aesteban """ import sys from calcoohija import CalculadoraHija Mi_Calcu = CalculadoraHija() fich = open(sys.argv[1], 'r') 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
# -*- coding: utf-8 -*- import sys import csv import os.path as path from calcoohija import CalculadoraHija if __name__ == "__main__": if len(sys.argv) != 2: sys.exit("You writte: 'python3 calcplusplus.py <fichero>'") if not path.exists(sys.argv[1]): sys.exit("Name file incorrect") calc = CalculadoraHija() with open(sys.argv[1], 'r') as fich: entrada = csv.reader(fich) for linea in entrada: operandos = linea[1:] try: operandos_int = [float(i) for i in operandos] except ValueError: sys.exit("Error: Non numerical parameters") if len(linea) >= 2: resultado = operandos_int[0] else: resultado = 0