def punto_2():
    cola, nueva_cola, cola_ig = Cola(), Cola(), Cola()
    app = ['Facebook', 'Twitter', 'Instagram']
    cmnt = ['Nuevo amigo', 'Python', 'Me gusta', 'Hola!']
    for i in range(10):
        dato = Notificacion(choice(app), time(randint(0, 23), randint(0,59)), choice(cmnt))
        arribo(cola, dato)
    print('APLICACION | HORA | MENSAJE')
    barrido_cola(cola)
    print()
    while not cola_vacia(cola):
        aux = atencion(cola)
        # c
        if aux.app == 'Instagram':
            arribo(cola_ig, aux)
        # b
        if aux.app == 'Twitter' and aux.msj == 'Python':
            print('Notificaciones de Twitter que lleve la palabra Python:')
            print(aux)
        # a
        if aux.app != 'Facebook':
            arribo(nueva_cola, aux)
    print()
    print('Cola de notificaciones sin Facebook')
    barrido_cola(nueva_cola)
    print()
    print('Notificaciones de instagram almacenadas temporalmente')
    barrido_cola(cola_ig)
예제 #2
0
def dos_colas():
    '''Combina dos colas en una ordenada'''
    C1 = Cola()
    C2 = Cola()
    dato1 = [0, 2, 4, 6, 8]
    dato2 = [1, 3, 5, 7, 9]
    for i in range(0, len(dato1)):
        arribo(C1, dato1[i])
        arribo(C2, dato2[i])
    print('Cola 1')
    barrido_cola(C1)
    print('Cola 2')
    barrido_cola(C2)
    print()
    for i in range(0, tamanio_cola(C1)):
        if en_frente(C1) < en_frente(C2):
            mover_final(C1)
        else:
            while en_frente(C1) > en_frente(C2):
                arribo(C1, atencion(C2))
            mover_final(C1)
    while not cola_vacia(C2):
        arribo(C1, atencion(C2))
    print('Cola combinada y ordenada')
    barrido_cola(C1)
예제 #3
0
def caracter(C):
    Caux = Cola()
    Caux2 = Cola()
    auxD = False
    auxL = False
    cont_L = 0
    existe1 = False
    existe2 = False
    while not cola_vacia(C):
        aux = atencion(C)
        auxD = aux.isdigit()
        if (auxD == True):
            arribo(Caux, aux)
        else:
            arribo(Caux2, aux)
        if (aux == '#'):
            existe1 = True
        if (aux == '?'):
            existe2 = True
    print('La cola con solo digitos es:')
    barrido_cola(Caux)
    print('La cola con el resto de caracteres es :')
    barrido_cola(Caux2)
    while not cola_vacia(Caux2):
        aux2 = atencion(Caux2)
        auxL = aux2.isalpha()
        if (auxL == True):
            cont_L += 1
    print('La cantidad de letras de la segunda Cola es: ', cont_L)
    if (existe1 == True):
        print('Existe el caracter #')
    if (existe2 == True):
        print('Existe el caracter ?')
예제 #4
0
def caracteres(C):
    '''Operaciones con una cola de letras, numeros y simbolos'''
    C_dig = Cola()
    C_car = Cola()
    cont_letras = 0
    numer, inter = False, False
    while not cola_vacia(C):
        dato = atencion(C)
        if dato.isdigit():
            arribo(C_dig, dato)
        else:
            arribo(C_car, dato)
    # barrido_cola(C_dig)
    # barrido_cola(C_car)
    print('Tamanio de la cola de numeros: ' + str(tamanio_cola(C_dig)))
    print('Tamanio de la cola de caracteres: ' + str(tamanio_cola(C_car)))
    while not cola_vacia(C_car):
        dato = atencion(C_car)
        if dato.isalpha():
            cont_letras += 1
        if dato == '?':
            inter = True
        if dato == '#':
            numer = True
    print('Cantidad de letras en la cola de caracteres: ' + str(cont_letras))
    if inter:
        print('Existen signos de interrogacion en la cola')
    else:
        print('NO existen signos de interrogacion en la cola')
    if numer:
        print('Existen numerales en la cola')
    else:
        print('NO existen numerales en la cola')
예제 #5
0
def Haversine():
    '''Datos de bases rebeldes proporcionados a un Caza TIE'''
    C, Caux, P = Cola(), Cola(), Pila()
    base = [
        'Base Dantooine', 'Base Eco', 'Cuartel General de la Resistencia',
        'Gran Templo de Massassi', 'Puesto de avanzada Beta'
    ]
    lat = [73, -23, -37, 45, 4]
    lng = [-54, 166, -72, 4, 113]
    q1 = radians(randint(-90, 90))  # latitud de origen
    d1 = radians(randint(-180, 180))  # longitud de origen
    # q2 = latitud de llegada
    # d2 = longitud de llegada
    r = 6371  # en kilometros
    c1, c2, c3 = 0, 0, 0
    for i in range(len(base)):
        arribo(C, [base[i], randint(10, 200), lat[i], lng[i]])
    print('Base | Tamanio de la flota | Latitud | Longitud')
    barrido_cola(C)
    print()
    print('Coordenada actual:', round(q1, 6), ',', round(d1, 6))
    while not cola_vacia(C):
        x = atencion(C)
        q2 = radians(x[2])
        d2 = radians(x[3])
        formula = 2 * r * asin(
            sqrt(
                sin((q1 - q2) / 2)**2 +
                cos(q1) * cos(q2) * sin((d1 - d2) / 2)**2))
        dist = int(formula)
        print(x[0] + ' se encuentra a ' + str(dist) + 'km')
        apilar(P, [dist, x[0], x[1]])
        arribo(Caux, [x[1], x[0], dist])
    print()
    P = ordenar_pila(P)
    c1 = desapilar(P)
    c2 = desapilar(P)
    c3 = desapilar(P)
    print('Las tres bases mas cercanas son:')
    print(c1[1] + ' se encuentra a ' + str(c1[0]) + 'km')
    print(c2[1] + ' se encuentra a ' + str(c2[0]) + 'km')
    print(c3[1] + ' se encuentra a ' + str(c3[0]) + 'km')
    if c1[2] > c2[2] and c1[2] > c3[2]:
        print(c1[1] + ' posee la mayor flota aerea')
    elif c2[2] > c1[2] and c2[2] > c3[2]:
        print(c2[1] + ' posee la mayor flota aerea')
    else:
        print(c3[1] + ' posee la mayor flota aerea')
    print()
    barrido_cola(Caux)
    cont = 0
    while not cola_vacia(Caux):
        dato = atencion(Caux)
        if dato[0] > cont:
            cont = dato[0]
            info = dato
    print()
    print(info[1], 'posee la mayor flota(' + str(info[0]) + ')')
    print('Se encuentra a:', info[2], 'km')
예제 #6
0
def aeropuerto():
    '''Algoritmo que permite administrar los despegues y aterrizajes de un
    aeropuerto'''
    Cdesp, Cater = Cola(), Cola()
    empr = [
        'Singapore Airlines', 'Fly Emirates', 'LATAM', 'Qatar Airways',
        'Aerolineas Argentinas', 'Iberia', 'Turkish Airlines', 'Avianca'
    ]
    hs = [00.30, 02.00, 04.45, 07.15, 12.15, 15.30, 18.05, 20.40]
    hl = [03.10, 04.30, 08.00, 11.25, 14.30, 17.50, 21.20, 23.45]
    aero = [
        'Aeropuerto Alfa', 'Aeropuerto Beta', 'Aeropuerto Gamma',
        'Aeropuerto Delta', 'Aeropuerto Lambda', 'Aeropuerto Sigma',
        'Aeropuerto Omega', 'Aeropuerto Epsilon', 'Aeropuerto Kappa'
    ]
    tipo = ['Negocios', 'Carga', 'Pasajeros']
    tdesp = [9, 3, 5]
    tater = [12, 5, 10]
    print(
        '     Empresa      | Hora salida | Hora llegada |    Origen    |    Destino    | Tipo de vuelo'
    )
    for i in range(len(empr)):
        arribo(
            Cdesp,
            [empr[i], hs[i], hl[i],
             choice(aero),
             choice(aero),
             choice(tipo)])
    barrido_cola(Cdesp)
    print('')
    while not cola_vacia(Cdesp) or not cola_vacia(Cater):
        if not cola_vacia(Cater):
            avion = atencion(Cater)
            pos = tipo.index(avion[5])
            tiempo = tater[pos]
            print('')
            print('Aterrizando avion de la empresa: ' + str(avion[0]))
            print('Horario de llegada: ' +
                  str('{0:.2f}'.format(avion[2]).zfill(5)) + 'hs')
            print('Tipo de vuelo: ' + str(avion[5]))
            sleep(tiempo)
        else:
            avion = atencion(Cdesp)
            pos = tipo.index(avion[5])
            tiempo = tdesp[pos]
            print('')
            print('Despegando avion de la empresa: ' + str(avion[0]))
            print('Horario de salida: ' +
                  str('{0:.2f}'.format(avion[1]).zfill(5)) + 'hs')
            print('Tipo de vuelo: ' + str(avion[5]))
            sleep(tiempo)
            arribo(Cater, avion)
예제 #7
0
def invertir_pilaa(P):
    C = Cola()
    while not pila_vacia(P):
        arribo(C, desapilar(P))
    while not cola_vacia(C):
        apilar(P, atencion(C))
    barrido_pila(P)
예제 #8
0
def marvel():
    '''Cola con personajes de Marvel Cinematic Universe'''
    C = Cola()
    personaje = ['Carol Danvers', 'Natasha Romanoff', 'Gamora Zen Whoberi',
                 'Tony Stark', 'Scott Lang', 'Steve Rogers', 'Stephen Strange',
                 'Peter Benjamin Parker']
    superheroe = ['Capitana Marvel', 'Black Widow', 'Gamora', 'Iron Man',
                  'Ant-Man', 'Capitan America', 'Doctor Strange', 'Spider Man']
    genero = ['F', 'F', 'F', 'M', 'M', 'M', 'M', 'M']
    for i in range(len(personaje)):
        arribo(C, [personaje[i], superheroe[i], genero[i]])
    print('Nombre del personaje | Nombre del superheroe | Genero')
    barrido_cola(C)
    print('')
    while not cola_vacia(C):
        dato = atencion(C)
        if dato[1] == 'Capitana Marvel':
            print('El personaje de la Capitana Marvel es: ' + dato[0])
        if dato[2] == 'F':
            print(dato[1] + ', personaje femenino')
        if dato[2] == 'M':
            print(dato[1] + ', personaje masculino')
        if dato[0] == 'Scott Lang':
            print('El nombre del superheroe de Scott Lang es: ' + dato[1])
        cad = dato[0]
        if cad[0] == 'S' or cad[0] == 'S':
            print('El personaje ' + dato[0] + ' empieza con S')
            print('El superheroe ' + dato[1] + ' empieza con S')
        if dato[0] == 'Carol Danvers':
            print('El superheroe de Carol Danvers es: ' + dato[1])
예제 #9
0
def cola_ordenada():
    '''Manteniene ordenados los elementos agregados en una cola'''
    C = Cola()
    Caux = Cola()
    for i in range(10):
        dato = randint(1, 50)
        print(str(dato) + ' agregado')  # pregunta uno por uno
        while not cola_vacia(C) and en_frente(C) <= dato:
            arribo(Caux, atencion(C))
        arribo(Caux, dato)
        while not cola_vacia(C):
            arribo(Caux, atencion(C))
        while not cola_vacia(Caux):
            arribo(C, atencion(Caux))
    print()
    print('Cola ordenada:')
    barrido_cola(C)
예제 #10
0
def primoss(C):
    Caux = Cola()
    while not cola_vacia(C):
        x = atencion(C)
        if primos(x):
            arribo(Caux, x)
    C = Caux 
    barrido_cola(C)
예제 #11
0
def vocales(C):
    Caux = Cola()
    while not cola_vacia(C):
        aux = atencion(C)
        if (aux == 'a') or (aux == 'e') or (aux == 'i') or (aux == 'o') or (aux == 'u') or (aux == 'A') or (aux == 'E') or (aux == 'I') or (aux == 'O') or (aux == 'U'):
            arribo(Caux, aux)
    C = Caux
    print('La Cola sin vocales es')
    barrido_cola(C)
예제 #12
0
def invertir_pila_cola(P):
    '''Invierte el contenido de una pila con una cola auxiliar'''
    C = Cola()
    while not pila_vacia(P):
        arribo(C, desapilar(P))
    while not cola_vacia(C):
        apilar(P, atencion(C))
    print('Pila invertida')
    barrido_pila(P)
예제 #13
0
def eliminacion(C):
    '''Elimina los numeros NO primos de una cola'''
    Caux = Cola()
    while not cola_vacia(C):
        x = atencion(C)
        if primos(x):  # Funcion primos() en TDA_ColaDin
            arribo(Caux, x)
    C = Caux
    print('Cola de numeros primos')
    barrido_cola(C)
예제 #14
0
def personajes_sw():
    '''Operaciones sobre una cola de personajes de star wars
    y sus planetas de origen'''
    C, Caux, C1, C2 = Cola(), Cola(), Cola(), Cola()
    personaje = [
        'Breha Organa', 'Bail Organa', 'Killik', 'Chirpa el Ewok',
        'Asha Fahn el Ewok', 'Kneesaa el Ewok', 'Saqueador Tusken',
        'Dathcha el Jawa', 'Jabba el Hutt', 'Luke Skywalker', 'Han Solo',
        'Yoda', 'Jar Jar Binks', 'Darth Maul'
    ]
    origen = [
        'Alderaan', 'Alderaan', 'Alderaan', 'Endor', 'Endor', 'Endor',
        'Tatooine', 'Tatooine', 'Tatooine', 'Polis Massa', 'Corellia',
        'Desconocido', 'Naboo', 'Dathomir'
    ]
    for i in range(0, len(personaje)):
        arribo(C, [personaje[i], origen[i]])
    print('Personaje  |   Planeta de origen')
    barrido_cola(C)
    print()
    while not cola_vacia(C):
        x = atencion(C)
        if x[1] == 'Alderaan' or x[1] == 'Endor' or x[1] == 'Tatooine':
            print(str(x[0]) + ' originario/a del planeta ' + str(x[1]))
        if x[0] == 'Luke Skywalker' or x[0] == 'Han Solo':
            print(str(x[0]) + ' originario/a del planeta ' + str(x[1]))
        if x[0] != 'Yoda':
            arribo(C1, x)
        else:
            arribo(C1, ['Sheev Palpatine', 'Naboo'])
            arribo(C1, x)
        arribo(Caux, x)
        while not cola_vacia(Caux):
            x = atencion(Caux)
            if x[0] == 'Jar Jar Binks' and not cola_vacia(Caux):
                atencion(Caux)
            arribo(C2, x)
    print()
    print('Agregar personaje antes de Yoda')
    barrido_cola(C1)
    print()
    print('Eliminar personaje despues de Jar Jar Binks')
    barrido_cola(C2)
예제 #15
0
def numeros_ordenados():
    C = Cola()
    Caux = Cola()
    numeros1 = [0, 5, 9, 11]
    numeros2 = [2, 6, 10, 14]
    for i in range(0, len(numeros1)):
        arribo(C, numeros1[i])
        arribo(Caux, numeros2[i])
    for i in range(0, tamanio_cola(C)):
        if (en_frente(C) < en_frente(Caux)):
            mover_final(C)
        else:
            while (en_frente(C) > en_frente(Caux)):
                arribo(C, atencion(Caux))
            mover_final(C)
    while not cola_vacia(Caux):
        arribo(C, atencion(Caux))
    print('Termino')
    barrido_cola(C)
예제 #16
0
def por_nivel(raiz):
    'Barrido por nivel'
    cola = Cola()
    arribo(cola, raiz)
    while not cola_vacia(cola):
        nodo = atencion(cola)
        print(nodo.info)
        if nodo.izq is not None:
            arribo(cola, nodo.izq)
        if nodo.der is not None:
            arribo(cola, nodo.der)
예제 #17
0
def vocales(C):
    '''Elimina las vocales de una cola'''
    Caux = Cola()
    while not cola_vacia(C):
        x = atencion(C)
        if ord(x.lower()) != 97 and ord(x.lower()) != 101 and ord(
                x.lower()) != 105 and ord(x.lower()) != 111 and ord(
                    x.lower()) != 117:
            arribo(Caux, x)
    C = Caux
    print('Cola sin vocales')
    barrido_cola(C)
예제 #18
0
def cortar_por_nivel(raiz, bosque):
    cola = Cola()
    arribo(cola, raiz)
    while not cola_vacia(cola):
        nodo = atencion(cola)
        if altura(nodo) == 7:
            bosque.append(nodo.izq)
            bosque.append(nodo.der)
        if nodo.izq is not None:
            arribo(cola, nodo.izq)
        if nodo.der is not None:
            arribo(cola, nodo.der)
예제 #19
0
def palindromo(C):
    P = Pila()
    Caux = Cola()
    while not cola_vacia(C):
        apilar(P, atencion(C))
    while not pila_vacia(P):
        arribo(Caux, desapilar(P))
    barrido_cola(Caux)
    if (Caux == C):
        print ('son palindromo')
    else:
        print('NO es palindromo')
예제 #20
0
def aeropuerto():
    C = Cola()
    nom_empresa = ['Singapore Airlines', 'Qatar Airways', 'Emirates', 'Delta']
    hora_salida = [21.00, 10.00, 17.15, 7.30]
    hora_llegada = [4.00, 19.30, 1.00, 00.45]
    aerop_origen = ['Aeropuerto de Changi', 'Aeropuerto Internacional de Incheon', 'Aeropuerto Internacional de Haneda', 'Aeropuerto Internacional de Hong Kong']
    aerop_destino = ['Aeropuerto Internacional Hamad', 'Aeropuerto de Munich', 'Aeropuerto Internacional Chubu Centrair', 'Aeropuerto de Heathrow']
    tipo = ['Negocio', 'Pasajero', 'Negocio', 'Carga']
    print('     Empresa      | Hora salida | Hora llegada |  Aeropuerto de Origen    |    Aeropuerto de Destino    | Tipo de vuelo')
    for i in range(0, len(nom_empresa)):
        arribo(C, [nom_empresa[i], hora_salida[i], hora_llegada[i], aerop_origen[i], aerop_destino[i], tipo[i]])
    barrido_cola(C)
예제 #21
0
def por_nivel(raiz):
    'Barrido por nivel'
    cola = Cola()
    arribo(cola, raiz)
    while not cola_vacia(cola):
        nodo = atencion(cola)
        print(nodo.info)
        if nodo.info[0] == 'Obi-Wan Kenobi':
            print(nodo.info[0], 'se encuentra en el nivel:', nodo.altura)
        if nodo.izq is not None:
            arribo(cola, nodo.izq)
        if nodo.der is not None:
            arribo(cola, nodo.der)
예제 #22
0
def por_nivel_meteorolgico(raiz):
    cola = Cola()
    arribo(cola, raiz)
    while not cola_vacia(cola):
        nodo = atencion(cola)
        if nodo.campo is None or nodo.umbral is None:
            print(nodo.info)
        else:
            print(nodo.info, nodo.campo, nodo.umbral)
        if nodo.izq is not None:
            arribo(cola, nodo.izq)
        if nodo.der is not None:
            arribo(cola, nodo.der)
예제 #23
0
def StarWars ():
    C = Cola()
    Caux = Cola()
    Caux2 = Cola()
    personaje = ['Breha Organa', 'Bail Organa', 'Killik',
                 'Chirpa el Ewok', 'Asha Fahn el Ewok', 'Kneesaa el Ewok',
                 'Saqueador Tusken', 'Dathcha el Jawa', 'Jabba el Hutt',
                 'Luke Skywalker', 'Han Solo', 'Yoda',
                 'Jar Jar Binks', 'Darth Maul']
    origen = ['Alderaan', 'Alderaan', 'Alderaan', 'Endor', 'Endor', 'Endor',
              'Tatooine', 'Tatooine', 'Tatooine', 'Polis Massa', 'Corellia',
              'Desconocido', 'Naboo', 'Dathomir']
    for i in range(0, len(personaje)):
        arribo(C, [personaje[i], origen[i]])
    print('Personaje  |   Planeta de origen')
    barrido_cola(C)
    while not cola_vacia(C):
        aux = atencion(C)
        if (aux[1] == 'Alderaan') or (aux[1 == 'Endor']) or (aux[1] == 'Tatooine'):
            print('El personaje ', aux[0], ' pertenece al planeta ', aux[1])
        if (aux[0] == 'Luke Skywalker'):
            print('El planeta natal de Luke Skywalker es ', aux[1])
        if (aux[0] == 'Han Solo'):
            print('El planeta natal de Han Solo es ', aux[1])
        if (aux[0] != 'Yoda'):
           arribo(Caux, aux)
        else:
            arribo(Caux, ['Personaje', 'Nuevo'])
            arribo(Caux, aux) 
        if (aux[0] != 'Jar Jar Binks'):
            arribo(Caux2, aux)
        else:
            arribo(Caux2, aux)
            arribo(Caux2, ['Personaje2', 'Nuevo2'])
    print('La Cola con el personaje nuevo antes de Yoda es:')
    barrido_cola(Caux)
    print('La Cola con el personaje nuevo despues de Jar Jar Binks es:')
    barrido_cola(Caux2)
예제 #24
0
def por_nivel_nario(raiz):
    cola = Cola()
    arribo(cola, raiz)
    while not cola_vacia(cola):
        nodo = atencion(cola)
        print(nodo.info)
        if nodo.izq is not None:
            arribo(cola, nodo.izq)
        hno = nodo.der
        while hno is not None:
            print(hno.info)
            if hno.izq is not None:
                arribo(cola, hno.izq)
            hno = hno.der
예제 #25
0
def por_nivel_obi(raiz):
    'Barrido por nivel'
    nivel = 0
    cola = Cola()
    arribo(cola, raiz)
    while not cola_vacia(cola):
        nodo = atencion(cola)
        nivel += 1
        if nodo.info == 'Obi-Wan Kenobi':
            print('Nivel de Obi-Wan Kenobi: ', nivel)
            break
        if nodo.izq is not None:
            arribo(cola, nodo.izq)
        if nodo.der is not None:
            arribo(cola, nodo.der)
예제 #26
0
def i_esimo_cola(C):
    '''Elimina un i-esimo elemento despues de frente de la cola'''
    Caux = Cola()
    pos = 5
    if tamanio_cola(C) > pos:
        i = 0
        while i < pos:
            x = atencion(C)
            arribo(Caux, x)
            i += 1
        elim = atencion(C)
        print('elemento eliminado:', elim)
        while not cola_vacia(C):
            arribo(Caux, atencion(C))
        print('Nueva cola')
        barrido_cola(Caux)
    else:
        print('Se excedio la cantidad de posiciones')
예제 #27
0
def procesador():
    C = Cola()
    ID = [4242, 1244, 6446, 8655]
    tiempo = [8, 12, 2, 15]
    for i in range(len(ID)):
        arribo(C, [ID[i], tiempo[i]])
    print('ID | Tiempo')
    barrido_cola(C)
    while not cola_vacia(C):
        aux = atencion(C)
        if (aux[1] < 4.5):
            sleep(aux[1])
            print(aux, ' ejecutado con exito')
        else:
            print('El dato ', aux ,' excedio el tiempo de procesamiento de 4,5 segundos')
            print('El dato ha sido devuelto a la cola con el tiempo restante de ejecucion')
            aux[1] = aux[1] - 4.5
            arribo(C, aux)
예제 #28
0
def palindromo():
    '''Devuelve True si una palabra es un palindromo'''
    P = Pila()
    C = Cola()
    cad = 'neuquen'
    palindr = True
    print(cad)
    for letra in cad:
        apilar(P, letra)
        arribo(C, letra)
    for i in range(0, tamanio_cola(C)):
        dato_cola = atencion(C)
        dato_pila = desapilar(P)
        if dato_cola != dato_pila:
            palindr = False
    if palindr:
        print(True)
    else:
        print(False)
예제 #29
0
def procesador():
    '''Cola de procesos de ejecucion en un procesador'''
    C = Cola()
    id = [1, 455, 3421, 5628, 9340]
    te = [3, 5, 4, 12, 2]
    for i in range(len(id)):
        arribo(C, [id[i], te[i]])
    print('ID | Tiempo de ejecucion')
    while not cola_vacia(C):
        dato = atencion(C)
        print()
        print('Ejecutando: ' + str(dato))
        if dato[1] < 4.5:
            sleep(dato[1])
            print(str(dato) + ' ejecutado con exito')
        else:
            print('El dato ' + str(dato) +
                  ' excedio el tiempo de procesamiento de 4,5 segundos')
            print(
                'El dato ha sido devuelto a la cola con el tiempo restante de ejecucion'
            )
            dato[1] = dato[1] - 4.5
            arribo(C, dato)
            print()
            while True:
                try:
                    print('Presione 1 si desea ingresar un nuevo proceso')
                    print('Presione 2 si quiere omitir el paso 1')
                    val = int(input())
                    if val == 1:
                        id = int(input('Ingrese ID: '))
                        te = int(input('Ingrese Tiempo de ejecucion: '))
                        arribo(C, [id, te])
                        break
                    elif val == 2:
                        break
                except Exception:
                    print('Solo puede ingresar 1 o 2')
예제 #30
0
def peaje():
    Cola1 = Cola()
    Cola2 = Cola()
    Cola3 = Cola()
    automoviles = ['automovil', 'camioneta', 'camion', 'colectivo']
    for i in range (5):
        arribo(Cola1, choice(automoviles))
        arribo(Cola2, choice(automoviles))
        arribo(Cola3, choice(automoviles))
    auto = 0
    camionet = 0
    cami = 0
    cole = 0
    cabina1 = 0
    while not cola_vacia(Cola1):
        aux = atencion(Cola1)
        if (aux == 'automovil'):
            cabina1 += 47
            auto += 1
        if (aux == 'camioneta'):
            cabina1 += 59
            camionet += 1
        if (aux == 'camion'):
            cabina1 += 71
            cami += 1
        if (aux == 'colectivo'):
            cabina1 += 64
            cole += 1
    print('Esta cola recaudo $', cabina1)
    print('En la cabina 1 se contaron los siguientes vehiculos:')
    print('automoviles: ', auto)
    print('camionetas: ', camionet)
    print('camiones: ', cami)
    print('colectivos: ', cole)
    auto2 = 0
    camionet2 = 0
    cami2 = 0
    cole2 = 0
    cabina2 = 0
    while not cola_vacia(Cola2):
        aux = atencion(Cola2)
        if (aux == 'automovil'):
            cabina2 += 47
            auto2 += 1
        if (aux == 'camioneta'):
            cabina2 += 59
            camionet2 += 1
        if (aux == 'camion'):
            cabina2 += 71
            cami2 += 1
        if (aux == 'colectivo'):
            cabina2 += 64
            cole2 += 1
    print('Esta cola recaudo $', cabina2)
    print('En la cabina 2 se contaron los siguientes vehiculos:')
    print('automoviles: ', auto2)
    print('camionetas: ', camionet2)
    print('camiones: ', cami2)
    print('colectivos: ', cole2)
    auto3 = 0
    camionet3 = 0
    cami3 = 0
    cole3 = 0
    cabina3 = 0
    while not cola_vacia(Cola3):
        aux = atencion(Cola3)
        if (aux == 'automovil'):
            cabina3 += 47
            auto3 += 1
        if (aux == 'camioneta'):
            cabina3 += 59
            camionet3 += 1
        if (aux == 'camion'):
            cabina3 += 71
            cami3 += 1
        if (aux == 'colectivo'):
            cabina3 += 64
            cole3 += 1
    print('Esta cola recaudo $', cabina3)
    print('En la cabina 3 se contaron los siguientes vehiculos:')
    print('automoviles: ', auto3)
    print('camionetas: ', camionet3)
    print('camiones: ', cami3)
    print('colectivos: ', cole3)   
    max = 0
    if (cabina1 > max):
        max = cabina1
        num = 1
    if (cabina2 > max):
        max = cabina2
        num = 2
    if (cabina3 > max):
        max = cabina3
        num =3
    print('La cabina ', num, ' fue la que mas recaudo con un monto de $', max)