def agregaCosecha(self, peso,fila,columna,unManejador): #Previamente se verificó unManejador if type(peso) == float: if type(fila) == int: if type(columna) == int: aux = ManejadorCamion() if type(aux) == type(unManejador): if self.verificaPeso(columna+1,peso,unManejador): kilos = self.calculaPeso(columna+1,peso,unManejador) self.__lista[fila][columna] += kilos
def menuOpciones(self, unManejador, unaCosecha): aux = ManejadorCamion() if type(aux) == type(unManejador): aux = Cosecha() if type(aux) == type(unaCosecha): continuar = True while continuar: os.system('cls') print(f''' Menú de opciones: {self.CONSULTAR}) Consultar Cantidad Total de Kilos descargados de un camión. {self.LISTAR}) Listado de camiones con respecto a un día. {self.SALIR}) Salir. ''') opc = input('Ingrese una opción: ') if opc.isdigit(): self.__opc = int(opc) os.system('cls') if self.__opc == self.CONSULTAR: print( ' CANTIDAD TOTAL DE KILOS DESCARGADOS.' ) idCamion = input( 'Ingrese el identificador del camión: ') if idCamion.isdigit(): idCamion = int(idCamion) if 1 <= idCamion <= 20: total = unaCosecha.calculoTotal( idCamion - 1, unaCosecha) print( f'El total de kilos descargados del Camión {idCamion} es: {total} kg.' ) else: print( 'El identificador del camión es incorrecto.' ) elif self.__opc == self.LISTAR: print(' LISTADO DE CAMIONES.') dia = input('Ingrese un día: ') if dia.isdigit(): dia = int(dia) if 1 <= dia <= 45: unaCosecha.listadoDia( dia - 1, unManejador, unaCosecha) else: print('El día ingresado es incorrecto.') else: print('Número de millas INCORRECTO.') elif self.__opc == self.SALIR: continuar = False else: print('Opción no válida.') input('Presiona ENTER para continuar...') else: print('Opción no válida.') input('Presiona ENTER para continuar...') print('¡Nos vemos!')
def calculaPeso(self,idCamion,peso,unManejador): if type(idCamion) == int: if type(peso) == float: aux = ManejadorCamion() if type(aux) == type(unManejador): unCamion = Camion() listaCamiones = unManejador.getListaCamiones() for unCamion in listaCamiones: if unCamion.getIdCamion() == idCamion: tara = unCamion.getTara() kilos = peso - tara return kilos
def leerArchivo(self,unManejador): aux = ManejadorCamion() if type(aux) == type(unManejador): os.system ('cls') archivo = open('cosechas.csv') reader = csv.reader (archivo, delimiter= ';') i=0 for fila in reader: for columna in range (20): peso = float(fila[columna]) self.agregaCosecha(peso,i,columna,unManejador) i+=1 archivo.close()
def listadoDia(self,dia,unManejador,unaCosecha): if type(dia) == int: aux=ManejadorCamion() if type(aux) == type(unManejador): aux=Cosecha() if type(aux) == type(unaCosecha): print ('PATENTE\t\tConductor\tKilos\n') listaCamiones = unManejador.getListaCamiones() unCamion = Camion() for unCamion in listaCamiones: patente = unCamion.getPatente() conductor = unCamion.getConductor() idCamion = unCamion.getIdCamion() kilos = self.calculoTotal(idCamion-1,unaCosecha) print (f'{patente}\t\t{conductor}\t\t{kilos}')
def verificaPeso(self,idCamion,peso, unManejador): #Previamente se verificó unManejador if type(idCamion) == int: if type(peso) == float: aux = ManejadorCamion() if type(aux) == type(unManejador): unCamion = Camion() listaCamiones = unManejador.getListaCamiones() for unCamion in listaCamiones: if unCamion.getIdCamion() == idCamion: tara = unCamion.getTara() if peso >= tara: retorno=True else: retorno=False return retorno
def test(): print("Test de creacion de camiones") manejadorTest = ManejadorCamion() nomAr = 'camionesTest.csv' archivo = open(nomAr) reader = csv.reader(archivo, delimiter=',') bandera = True for fila in reader: if bandera: bandera = False else: time.sleep(0.5) print('Datos: {}'.format(fila)) manejadorTest.addCamion(fila[0], fila[1], fila[2], fila[3], fila[4]) archivo.close() print('Test finalizado, presione ENTER para continuar...') print('Test de carga de cosechas erroneas') cosechaTest = Cosecha() nomAr = 'tablaCosechaTest.csv' print('Lectura de archivo: {}'.format(nomAr)) archivo = open(nomAr) reader = csv.reader(archivo, delimiter=',') bandera = True pesosTotales = [] for fila in reader: if bandera: bandera = False else: pesosTotales.append(fila) archivo.close() #Cargo cosecha cosechaTest = Cosecha() for dia in range(45): for id in range(20): tara = manejadorCamion.getPesoCamion(id + 1) cosechaTest.registrarCarga(id + 1, dia + 1, pesosTotales[dia][id], tara) print('Carga finalizada.')
import os from claseCamion import Camion from claseCosecha import Cosecha from claseManejadorCamion import ManejadorCamion from claseMenuOpciones import MenuOpciones if __name__ == '__main__': unManejador = ManejadorCamion() unaCosecha = Cosecha() unMenu = MenuOpciones() unManejador.leerArchivo() unaCosecha.leerArchivo(unManejador) idCamion = input('Ingrese el identificador del camión: ') if idCamion.isdigit(): idCamion = int(idCamion) if 1<=idCamion<=20: dia = input ('Ingrese un día: ') if dia.isdigit(): dia = int (dia) if 1<=dia<=45: peso = input('Ingrese el peso de camión: ') if peso.isdigit(): peso = float(peso) unaCosecha.agregaCosecha(peso,dia-1,idCamion-1,unManejador) else: print ('El día ingresado es incorrecto.') else: print('El identificador del camión es incorrecto.') input('Presione ENTER para continuar...') unMenu.menuOpciones(unManejador,unaCosecha) test()
pesosTotales.append(fila) archivo.close() #Cargo cosecha cosechaTest = Cosecha() for dia in range(45): for id in range(20): tara = manejadorCamion.getPesoCamion(id + 1) cosechaTest.registrarCarga(id + 1, dia + 1, pesosTotales[dia][id], tara) print('Carga finalizada.') if __name__ == '__main__': miCosecha = Cosecha() manejadorCamion = ManejadorCamion() #Cargo camiones en lista de camiones nomAr = 'camiones.csv' archivo = open(nomAr) reader = csv.reader(archivo, delimiter=',') bandera = True for fila in reader: if bandera: bandera = False else: manejadorCamion.addCamion(fila[0], fila[1], fila[2], fila[3], fila[4]) archivo.close() menuPrincipal = Menu()