def ej15(): print('Ingrese los valores de la lista M:') M = func.carganormal() print('\nIngrese los valores de la lista N:') N = func.carganormal() ordM = func.deteccion_de_orden(M) ordN = func.deteccion_de_orden(N) if ordM == 1 and ordN == 1: print('depinga mano, ambas listas ya estan ordenadas :D') elif ordM != 1 and ordN != 1: print( 'Ambas listas estan desordenadas brother :( pero tranqui, yo las ordeno' ) func.ordenadorburbujeo(M) func.ordenadorburbujeo(N) else: print( 'Alguna de las listas esta desordenada, pero no te voy a decir cual es, solo la ordenare' ) if ordM != 1: func.ordenadorburbujeo(M) else: func.ordenadorburbujeo(N) print('Lista M', M) print('Lista N', N) MN = func.intercalador(M, N) print('Lista MN', MN)
def ej6(): print('Busqueda binaria\n') print( 'Ingresa los numeros a cargar en la lista, ingresa -1 para finalizar la carga\n' ) v = func.carganormal() if v == []: print('No se cargo ningun elemento a la lista :s') elif len(v) == 1: print('La lista', v, 'tiene un solo elemento, no se puede ordenar (que esperabas?)') else: print('\nLista', v) print('Al utilizar busqueda binaria primero debemos ordenar la lista') print( 'Desea usar ordenamiento secuencial (1) u ordenamiento por burbujeo (2)?: ', end='') op = Basiclib.ingresodenum(1, 2) if op == 1: func.ordenadorsecuencial(v) else: func.ordenadorburbujeo(v) print('\nLista ordenada', v) n = int(input('>Ingrese un numero para buscarlo en la lista: ')) enc = func.busquedabinaria(n, v) print() if enc == -1: print(enc, 'El numero solicitado:', n, 'no pertenece a la lista') else: print('El numero', n, 'se encuentra en la lista en la posicion', enc)
def ej14(): print('Ingrese los valores de la lista 1: ') v1 = func.carganormal() print('\nAhora ingrese los valores de la lista 2:') v2 = func.carganormal() print('Lista 1', v1) print('Lista 2', v2) print() if v1 == []: print( 'No se puede eliminar un elemento de una lista si esta esta vacia :/' ) elif v2 == []: print('Lista 1 - lista 2 =', v1, 'oh wait, no hay nada que quitarle a la lista 1') else: func.eliminacion_v1menosv2(v1, v2) print('Lista 1 - lista 2 =', v1)
def ej5(): print('Busqueda secuencial\n') print( 'Ingresa los numeros a cargar en la lista, ingresa -1 para finalizar la carga\n' ) v = func.carganormal() print('Lista', v) n = int(input('>Ingrese un numero para buscarlo en la lista: ')) enc = func.busquedasecuencial(n, v) print() if enc == -1: print(enc, 'El numero solicitado:', n, 'no pertenece a la lista') else: print('El numero', n, 'se encuentra en la lista en la posicion', enc)
def ej9(): print( 'Ingrese los valores a cargar en la lista, ingrese -1 para terminar la carga' ) v = func.carganormal() v2 = func.comp_menorigual(v) print() print('Lista ', v) if v == []: print('La lista esta vacia e.e no hay elementos para comparar') elif len(v) == 1: print( 'La lista tiene un solo elemento, por lo tanto no se puede realizar ninguna comparacion :(' ) else: print('resultado', v2)
def ej12(): print( 'Ingrese los valores a cargar en la lista, ingrese -1 para terminar la carga' ) v = func.carganormal() print('\nLista:', v) # item 1 print( '\n- Cociente entre producto de los elementos en pos. par entre la suma de los elementos en pos. impar:\n' ) sub_par, sub_imp = func.separacion_par_impar(v) prod = func.productodelista(sub_par) suma = func.sumadelista(sub_imp) if suma == 0: print( 'No se puede realizar la operacion ya que la suma de los elementos en posicion impar es = 0' ) else: cociente = prod / suma print('Producto', prod, '/ suma', suma, '=', cociente) # item 2 print( '\n- Suma del primer elemento con el ultimo, el segundo con el penultimo... and so on and so forth\n' ) suma2 = func.suma_extremos(v) print('Lista de sumas', suma2) #item 3 print('\n- Comparacion de los elementos laterales de la lista"\n') lats = func.comparacion_laterales(v) if lats == []: print( 'Ningun elemento de la lista cumple la condicion de tener ambos elementos laterales iguales :((((' ) elif len(lats) == 1: if lats[0] == len(v) - 1: lateral = v[lats[0] - 1] else: lateral = v[lats[0] + 1] print( 'El unico elemento de la lista que tiene ambos laterales iguales es el:', v[lats[0]]) print('Y sus laterales son:', lateral) else: print('Los elementos que tienen sus laterales iguales son') func.impresion_laterales(v, lats)
def ej11(): print( 'Ingrese los valores a cargar en la lista, ingrese -1 para terminar la carga' ) A = func.carganormal() print('Lista:', A) if A == []: print('No cargaste ningun numero, do you think this is a joke??') else: tipo_ord = func.deteccion_de_orden(A) #tipo_0 determina el tipo de ordenamiento de la lista 0= desordenada, 1= ascendente, 2= descendente, 3= todos los elementos iguales print() if tipo_ord == 0: print( 'La lista esta desordenada, para continuar primero debemos ordenarla' ) print( 'Desea ordenar la lista de forma ascendente (1) o descendente (0)?: ', end='') ascend = Basiclib.opcion() if ascend: func.ordenadorburbujeo(A) tipo_ord = 1 else: func.ordenadorburbujeodes(A) tipo_ord = 2 print('\nLista ordenada:', A) elif tipo_ord == 1 or tipo_ord == 2: print('La lista ya esta ordenada! bien ahi') else: print( 'Todos los elementos de la lista son iguales, easy peasy insertar el numero' ) N = int(input('Ingrese el numero a insertar en la lista: ')) func.insercion_ordenada(N, A, tipo_ord) print('\nLista final:', A) print('\nDesea agregar otro numero a la lista?: ', end='') op = Basiclib.opcion() while op: N = int(input('Ingrese el numero a insertar en la lista: ')) func.insercion_ordenada(N, A, tipo_ord) print('Nueva lista', A) print('\nDesea agregar otro numero a la lista?: ', end='') op = Basiclib.opcion()
def ej13(): print( 'Ingrese los valores a cargar en la lista, ingrese -1 para terminar la carga' ) v = func.carganormal() print('\nLista:', v) if v == []: print('La lista esta vacia :c') elif len(v) == 1: print( 'La lista tiene un solo elemento (o sea esta ordenada (?) maybe?)') else: tipo = func.deteccion_de_orden(v) if tipo == 0: print('La lista esta desordenada') elif tipo == 1: print('La lista esta ordenada de forma ascendente') elif tipo == 2: print('La lista esta ordenada de forma descendente') else: print('Todos los elementos de la lista son iguales')