def personajes_marvel(): cola = Cola() pers = [ 'Carol Danvers', 'Natasha Romanoff', 'Gamora Zen Whoberi', 'Tony Stark', 'Scott Lang', 'Steve Rogers', 'Stephen Strange' ] sh = [ 'Capitana Marvel', 'Black Widow', 'Gamora', 'Iron Man', 'Ant-Man', 'Capitan America', 'Doctor Strange' ] gen = ['F', 'F', 'F', 'M', 'M', 'M', 'M'] for i in range(len(pers)): arribo(cola, [pers[i], sh[i], gen[i]]) print('Nombre del personaje | Nombre del superheroe | Genero') barrido_cola(cola) print('') while not cola_vacia(cola): dato = atencion(cola) 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])
def qe_onda_el_enunciado_wtf(): cola = Cola() cola_aux = Cola() pila = Pila() base = [ 'Base Dantooine', 'Base Eco', 'Cuartel General de la Resistencia', 'Gran Templo de Massassi', 'Puesto de avanzada Beta' ] latitud = [73, -23, -37, 45, 4] longitud = [-54, 166, -72, 4, 113] q1 = radians(randint(-90, 90)) d1 = radians(randint(-180, 180)) r = 6371 c1 = 0 c2 = 0 c3 = 0 for i in range(len(base)): arribo(cola, [base[i], randint(10, 200), latitud[i], longitud[i]]) print('Base - Tamaño de flota - Latitud - Longitud') barrido_cola(cola) print('La coordenada actual es :', round(q1, 6), ',', round(d1, 6)) while not cola_vacia(cola): x = atencion(cola) 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(pila, [dist, x[0], x[1]]) arribo(cola_aux, [x[1], x[0], dist]) print() pila = ordenar(pila) c1 = desapilar(pila) c2 = desapilar(pila) c3 = desapilar(pila) 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(cola_aux) 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')
def invertir_cola(cola): pila = Pila() while not cola_vacia(cola): apilar(pila, atencion(cola)) while not pila_vacia(pila): arribo(cola, desapilar(pila)) print('Cola invertida: ') barrido_cola(cola)
def vocales(cola): cola_aux = Cola() while not cola_vacia(cola): x = atencion(cola) if x == 'a' or x == 'e' or x == 'i' or x == 'o' or x == 'u' or x == 'A' or x == 'E' or x == 'I' or x == 'O' or x == 'U': arribo(cola_aux, x) cola = cola_aux print('La cola sin vocales es: ') barrido_cola(cola)
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 cola_ordenada(): cola = Cola() cola_aux = Cola() for i in range(10): dato = randint(1, 50) print(str(dato) + ' agregado') while not cola_vacia(cola) and en_frente(cola) <= dato: arribo(cola_aux, atencion(cola)) arribo(cola_aux, dato) while not cola_vacia(cola): arribo(cola_aux, atencion(cola)) while not cola_vacia(cola_aux): arribo(cola, atencion(cola_aux)) print('La cola ordenada es:') barrido_cola(cola)
def aeropuerto(): Cdesp = Cola() Cater = Cola() empresas = [ '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] aeropuertos = [ 'Aeropuerto Alfa', 'Aeropuerto Beta', 'Aeropuerto Gamma', 'Aeropuerto Delta', 'Aeropuerto Lambda', 'Aeropuerto Sigma', 'Aeropuerto Omega', 'Aeropuerto Epsilon', 'Aeropuerto Kappa' ] tipo = ['Negocios', 'Carga', 'Pasajeros'] te = [9, 3, 5] tater = [12, 5, 10] print( ' Empresa - Hora salida - Hora llegada - Origen - Destino - Tipo de vuelo' ) for i in range(len(empresas)): arribo(Cdesp, [ empresas[i], hs[i], hl[i], choice(aeropuertos), choice(aeropuertos), choice(tipo) ]) barrido_cola(Cdesp) 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('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 = te[pos] 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)
def psw(): cola = Cola() cola_aux = Cola() cola1 = Cola() cola2 = Cola() personajes = [ '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' ] origen = [ 'Alderaan', 'Alderaan', 'Alderaan', 'Endor', 'Endor', 'Endor', 'Tatooine', 'Tatooine', 'Tatooine', 'Polis Massa', 'Corellia', 'Desconocido', 'Naboo' ] for i in range(0, len(personajes)): arribo(cola, [personajes[i], origen[i]]) print('Personaje - Planeta de origen') barrido_cola(cola) while not cola_vacia(cola): x = atencion(cola) if x[1] == 'Alderaan' or x[1] == 'Endor' or x[1] == 'Tatooine': print(str(x[0]) + ' del planeta ' + str(x[1])) if x[0] == 'Luke Skywalker' or x[0] == 'Han Solo': print(str(x[0]) + 'del planeta ' + str(x[1])) if x[0] != 'Yoda': arribo(cola1, x) else: arribo(cola1, ['Sheev Palpatine', 'Naboo']) arribo(cola1, x) arribo(cola_aux, x) while not cola_vacia(cola_aux): x = atencion(cola_aux) if x[0] == 'Jar Jar Binks' and not cola_vacia(cola_aux): atencion(cola_aux) arribo(cola2, x) print('Agregar personaje antes de Yoda') print('Eliminar personaje despues de Jar Jar Binks') barrido_cola(cola2)
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))