コード例 #1
0
 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
コード例 #2
0
    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!')
コード例 #3
0
 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
コード例 #4
0
 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()
コード例 #5
0
 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}')
コード例 #6
0
 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
コード例 #7
0
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.')
コード例 #8
0
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()
コード例 #9
0
            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()