[],"authorship_tag":"ABX9TyPOM3vhS5XZVRxvJfC6F4du"},"kernelspec": {"name":"python3","display_name":"Python 3"},"language_info": {"name":"python"}},"cells":[{"cell_type":"code","execution_count":6,"metadata": {"id":"wTOy_ld8SkIM","colab":{"base_uri":"https:// localhost:8080/"},"outputId":"a8d6e810-da67-4bc8-afd6- b1df090f9e41","executionInfo": {"status":"ok","timestamp":1731419242173,"user_tz":180,"elapsed":78092,"user": {"displayName":"Teo Mestrocristino","userId":"16179135335485597821"}}},"outputs": [{"output_type":"stream","name":"stdout","text":["Ingresame la cantidad de elementos de la lista (entre 25 y 60): 25\n","Ingresame el valor mínimo: -1\n","El valor mínimo debe ser positivo.\n","Ingresame el valor mínimo: 23\n","Ingresame el valor máximo: 45\n","Lista generada:\n","37 27 27 29 32 45 32 38 25 43 32 29 30 44 40 24 36 23 37 32 31 32 37 43 30 \n","Lista sin duplicados:\n","37 27 29 32 45 38 25 43 30 44 40 24 36 23 31 \n","Ingresame un número para saber cuántas veces se repite: 23\n","El número 23 se repite 1 veces.\n","La suma de los números únicos es 504\n","La cantidad de elementos únicos es 15\n","Ingresame múltiplo de qué tipo deseas (excepto 2 o 7): 2\n","Error, no se puede usar 2 ni 7 como divisores.\ n","Ingresame múltiplo de qué tipo deseas (excepto 2 o 7): 3\n","El porcentaje de múltiplos de 3 es 28.00%\n","Lista ordenada:\n","23 24 25 27 27 29 29 30 30 31 32 32 32 32 32 36 37 37 37 38 40 43 43 44 45 \n","Qué número deseas buscar: 25\n","El número 25 se encuentra en la posición 2\n","El mayor número de la lista es 45\ n","El menor número de la lista es 23\n"]}],"source":["import random\n","\n","def cargar_lista(minimo, maximo, cantidad):\n"," lista = []\n"," for _ in range(cantidad):\n"," num = [Link](minimo, maximo)\n"," [Link](num)\n"," return lista\n","\n","def imprimir_lista(lista):\n"," for num in lista:\n"," print(num, end=\" \")\n"," print()\n","\n","def eliminar_duplicados(lista):\n"," lista_sin_duplicados = []\n"," for num in lista:\n"," if num not in lista_sin_duplicados:\n"," lista_sin_duplicados.append(num)\n"," return lista_sin_duplicados\n","\n","def sumar_numeros_unicos(lista):\n"," lista_sin_duplicados = eliminar_duplicados(lista)\n"," suma = 0\n"," for num in lista_sin_duplicados:\n"," suma += num\n"," return suma\n","\n","def contar_elementos_unicos(lista):\n"," lista_sin_duplicados = eliminar_duplicados(lista)\n"," return len(lista_sin_duplicados)\n","\n","def contar_repeticiones(numero, lista):\n"," contador = 0\n"," for num in lista:\ n"," if num == numero:\n"," contador += 1\n"," return contador\n","\n","def porcentaje_multiplos(lista, divisor):\n"," cantidad_multiplos = 0\n"," for num in lista:\n"," if num % divisor == 0:\n"," cantidad_multiplos += 1\n"," return (cantidad_multiplos / len(lista)) * 100\n","\n","def ordenar_lista(lista):\n"," largo = len(lista)\ n"," for i in range(largo):\n"," min_idx = i\n"," for j in range(i + 1, largo):\n"," if lista[j] < lista[min_idx]:\n"," min_idx = j\n"," lista[i], lista[min_idx] = lista[min_idx], lista[i]\n"," return lista\n","\n","def busqueda_binaria(lista, dato):\n"," izq = 0\n"," der = len(lista) - 1\n"," pos = -1\n"," for _ in range(len(lista)):\n"," if izq > der or pos != -1:\n"," return pos\n"," centro = (izq + der) // 2\n"," if lista[centro] == dato:\n"," return centro\n"," elif lista[centro] < dato:\n"," izq = centro + 1\n"," else:\n"," der = centro - 1\n"," return pos\n","\n","def mayor_numero(lista):\n"," mayor = lista[0]\n"," for num in lista:\n"," if num > mayor:\n"," mayor = num\n"," return mayor\n","\n","def menor_numero(lista):\n"," menor = lista[0]\n"," for num in lista:\n"," if num < menor:\n"," menor = num\n"," return menor\n","\n","def validar_positivos(valor, tipo):\n"," while valor < 0:\n"," print(f\"El valor {tipo} tiene que ser positivo.\")\ n"," valor = int(input(f\"igresar el valor {tipo}: \"))\n"," return valor\n","\n","def solicitar_valores():\n"," cantidad = int(input(\"igresa la cantidad de elementos de la lista (entre 25 y 60): \"))\n"," if cantidad < 25 or cantidad > 60:\n"," print(\"La cantidad tiene que estar entre 25 y 60.\")\ n"," return solicitar_valores()\n","\n"," minimo = int(input(\"ingresar el valor mínimo: \"))\n"," minimo = validar_positivos(minimo, \"mínimo\")\n"," maximo = int(input(\"ingresar el valor máximo: \"))\n"," maximo = validar_positivos(maximo, \"máximo\")\n","\n"," if minimo >= maximo:\n"," print(\"El valor mínimo tiene que ser menor que el máximo.\")\n"," return solicitar_valores()\n","\n"," return minimo, maximo, cantidad\n","\n","minimo, maximo, cantidad = solicitar_valores()\n","\n","lista = cargar_lista(minimo, maximo, cantidad)\n","print(\"Lista generada:\")\n","imprimir_lista(lista)\n","\ n","lista_sin_duplicados = eliminar_duplicados(lista)\n","print(\"Lista sin duplicados:\")\n","imprimir_lista(lista_sin_duplicados)\n","\n","numero_para_contar = int(input(\"ingresar un número para saber cuántas veces se repite: \"))\ n","repeticiones = contar_repeticiones(numero_para_contar, lista)\n","print(f\"El número {numero_para_contar} se repite {repeticiones} veces.\")\n","\n","suma_unicos = sumar_numeros_unicos(lista)\n","print(f\"La suma de los números únicos es {suma_unicos}\")\n","\n","cantidad_unicos = contar_elementos_unicos(lista)\ n","print(f\"La cantidad de elementos únicos es {cantidad_unicos}\")\n","\ n","divisor = int(input(\"ingresar múltiplo que quieras (excepto 2 o 7): \"))\ n","while divisor == 2 or divisor == 7:\n"," print(\"Error, no se puede usar 2 ni 7 como divisores.\")\n"," divisor = int(input(\"Ingresame múltiplo que quieras (excepto 2 o 7): \"))\n","porcentaje = porcentaje_multiplos(lista, divisor)\n","print(f\"El porcentaje de múltiplos de {divisor} es {porcentaje:.2f} %\")\n","\n","print(\"Lista ordenada:\")\n","lista_ordenada = ordenar_lista(lista)\ n","imprimir_lista(lista_ordenada)\n","\n","numero_para_buscar = int(input(\"Qué número queres buscar: \"))\n","posicion = busqueda_binaria(lista_ordenada, numero_para_buscar)\n","if posicion != -1:\n"," print(f\"El número {numero_para_buscar} esta en la posición {posicion}\")\n","else:\n"," print(f\"El número {numero_para_buscar} no esta en la lista\")\n","\n","mayor = mayor_numero(lista)\n","print(f\"El mayor número de la lista es {mayor}\")\n","\ n","menor = menor_numero(lista)\n","print(f\"El menor número de la lista es {menor}\")\n"]}]}