def caracteres(cola): cola_d = Cola() cola_c = Cola() cont = 0 num = False i = False while not cola_vacia(cola): dato = atencion(cola) if dato.isdigit(): arribo(cola_d, dato) else: arribo(cola_c, dato) print('El tamaño de la cola de numeros es: ' + str(tamanio(cola_d))) print('El tamaño de la cola de caracteres es: ' + str(tamanio(cola_c))) while not cola_vacia(cola_c): dato = atencion(cola_c) if dato.isalpha(): cont += 1 if dato == '?': i = True if dato == '#': num = True print('Cantidad de letras en la cola de caracteres es de : ' + str(cont)) if i: print('Hay signos de interrogacion en la cola') if num: print('Existen # en la cola')
def cola_con_negativos(cola): while tamanio(cola) < 20: datos = int(randint(-30, 30)) arribo(cola, datos) print('cola') for x in range(tamanio(cola)): print(en_frente(cola)) mover_final(cola) print(cola_con_negativos(cola)) max = None min = None c = 0 for i in range(tamanio(cola)): if (max == None) and (min == None): max = en_frente(cola) min = en_frente(cola) else: if (max < en_frente(cola)): max = en_frente(cola) if min > en_frente(cola): min = en_frente(cola) if en_frente(cola) < 0: c += 1 mover_final(cola) print("El rango es entre" + str(min) + " y " + str(max)) print("La cantidad de negativos es: " + str(c))
def eliminar(cola): cola_aux = Cola() pos = 5 if tamanio(cola) > pos: i = 0 while i < pos: x = atencion(cola) arribo(cola_aux, x) i += 1 eliminado = atencion(cola) print('El elemento eliminado es:', eliminado) while not cola_vacia(cola): arribo(cola_aux, atencion(cola)) print('Cola:') barrido_cola(cola_aux)
def eliminacion(cola): cola = Cola() while not cola_vacia(cola): m = atencion(cola) for i in range(tamanio(cola)): m = en_frente(cola) for i in range(0, m): i += 1 if (m % i == 0): c_div += 1 if c_div >= 3: atencion(cola) else: print(m) mover_final(cola)
def palindromo(): pila = Pila() cola = Cola() palindromo = True palabra = 'anana' print(palabra) for letra in palabra: apilar(pila, letra) arribo(cola, letra) for i in range(0, tamanio(cola)): dato_cola = atencion(cola) dato_pila = desapilar(pila) if dato_cola != dato_pila: palindromo = False if palindromo: print(True) else: print(False)
def colas_combinadas(): cola1 = Cola() cola2 = Cola() datos = [0, 2, 4, 7, 8, 10] datos2 = [1, 3, 5, 6, 9, 11] for i in range(0, len(datos)): arribo(cola1, datos[i]) arribo(cola2, datos2[i]) print('Cola 1 es :') barrido_cola(cola1) print('Cola 2 es:') barrido_cola(cola2) for i in range(0, tamanio(cola1)): if en_frente(cola1) < en_frente(cola2): mover_final(cola1) else: while en_frente(cola1) > en_frente(cola2): arribo(cola1, atencion(cola2)) mover_final(cola1) while not cola_vacia(cola2): arribo(cola1, atencion(cola2)) print('Combinacion de ambas colas: ') barrido_cola(cola1)
def consultorio(): Corig = Cola() cola_aux = Cola() C1 = Cola() C2 = Cola() letras = ['A', 'B', 'C', 'D', 'E', 'F'] for i in range(1000): arribo(Corig, [choice(letras), randint(000, 999)]) barrido_cola(Corig) while not cola_vacia(Corig): dato = atencion(Corig) if dato[0] == 'A' or dato[0] == 'C' or dato[0] == 'F': arribo(C1, dato) if dato[0] == 'B' or dato[0] == 'D' or dato[0] == 'E': arribo(C2, dato) arribo(cola_aux, dato) print('Cantidad turnos A, C o F: ' + str(tamanio(C1))) print('Cantidad turnos B, D o E: ' + str(tamanio(C2))) if tamanio(C1) > tamanio(C2): print('La cola 1 tiene mayor cantidad de turnos') elif tamanio(C2) > tamanio(C1): print('La cola 2 tiene mayor cantidad de turnos') else: print('Son iguales') print('') A, C, F = 0, 0, 0 B, D, E = 0, 0, 0 while not cola_vacia(C1): dato1 = atencion(C1) if dato1[0] == 'A': A += 1 if dato1[0] == 'C': C += 1 if dato1[0] == 'F': F += 1 while not cola_vacia(C2): dato2 = atencion(C2) if dato2[0] == 'B': B += 1 if dato2[0] == 'D': D += 1 if dato2[0] == 'E': E += 1 print('La cola 1 contiene:') print('A: ' + str(A) + ', C: ' + str(C) + ', F: ' + str(F)) print('La cola 2 contiene:') print('B: ' + str(B) + ', D: ' + str(D) + ', E: ' + str(E)) print('') if A > C and A > F: print('En cola 1, mayoria de letras A') elif C > A and C > F: print('En cola 1, mayoria de letras C') else: print('En cola 1, mayoria de letras F') if B > D and B > E: print('En cola 2, mayoria de letras B') elif D > B and D > E: print('En cola 2, mayoria de letras D') else: print('En cola 2, mayoria de letras E') c = 0 while not cola_vacia(cola_aux): dato = atencion(cola_aux) if dato[1] <= 506: c += 1 print('Cantidad de turnos con numero menor a 506: ' + str(c))
cont = 0 while not cola_vacia(cola_aux): dato = atencion(cola_aux) 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') #ej16 cola = Cola() id = 0 while tamanio(cola) < 7: id += 1 dato = [0, 0] dato[0] = id dato[1] = randint(1, 8) arribo(cola, dato) while not cola_vacia(cola): if (en_frente(cola)[1] > 4.5): sleep(4.5) en_frente(cola)[1] -= 4.5 print('El proceso ' + str(en_frente(cola)[0]) + 'se excedio de tiempo y fue aarribado') mover_final(cola) else: sleep(en_frente(cola)[1]) x = atencion(cola)