Saltar al contenido
Mi panel Acceder

Programación textual · Extraescolar · ESO y Bachillerato (12-18 años)

Python: listas, while, búsqueda y ordenación

Sin empezar
0/10 ejercicios

Objetivo

Aprenderás a trabajar con listas y bucles while en Python y a comparar algoritmos de búsqueda y de ordenación.

En pocas palabras (lectura fácil)

Para madres, padres y tutores (1 minuto)

Explicación

Una lista guarda varios datos en orden: notas = [7, 5, 9]. Cada elemento tiene un índice que empieza en 0: notas[0] vale 7 y notas[-1] es el último. len(notas) devuelve 3 y notas.append(6) añade un 6 al final.

El bucle while repite mientras una condición sea verdadera. Hay que actualizar la variable de la condición dentro del bucle (por ejemplo, i = i + 1); si la condición nunca llega a ser falsa, tenemos un bucle infinito.

Búsqueda lineal: se revisan los elementos uno a uno. Funciona con cualquier lista, pero en el peor caso hace tantas comparaciones como elementos. Búsqueda binaria: solo sirve si la lista está ordenada; se mira el centro y se descarta la mitad en cada paso. En 1000 elementos necesita como mucho 10 comparaciones, porque 2^10 = 1024.

Ordenación por burbuja: se comparan elementos vecinos y se intercambian si están al revés; tras cada pasada, el mayor queda al final. Ordenación por selección: se busca el mínimo y se coloca delante, y así sucesivamente.

En Python, sorted(lista) devuelve una copia ordenada y lista.sort() ordena la misma lista. Conocer los algoritmos sirve para entender su eficiencia: con millones de datos, elegir bien ahorra mucho tiempo.

Idea clave: La búsqueda binaria es mucho más rápida que la lineal, pero exige que la lista esté ordenada.

Ejemplo resuelto: Buscamos el primer suspenso con while

  1. Paso 1 notas = [6, 8, 4, 7] e i = 0
  2. Paso 2 while i < len(notas) and notas[i] >= 5:
  3. Paso 3 i = i + 1 (avanza mientras la nota sea aprobada)
  4. Paso 4 Con i = 0 (nota 6) e i = 1 (nota 8) la condición se cumple y avanza.
  5. Paso 5 Con i = 2 la nota es 4: la condición es falsa y el bucle termina.

Resultado: El primer suspenso está en el índice 2. La condición i < len(notas) evita salirse de la lista si no hubiera ninguno.

Resumen

  • Los índices de una lista empiezan en 0; len() da el número de elementos.
  • while repite mientras la condición sea verdadera; hay que actualizarla.
  • La búsqueda lineal sirve siempre; la binaria, solo con listas ordenadas.
  • Burbuja compara vecinos; selección busca el mínimo.
  • sorted() devuelve una copia; .sort() cambia la lista.

Más ayudas para esta unidad

Para saber más

Recursos seleccionados de fuentes fiables para explorar este tema. Ver todos

  • Herramientas

    Scratch

    MIT Media Lab · Uso gratuito (enlace)

  • Herramientas

    Code.org

    Code.org · Uso gratuito (enlace)

  • Herramientas

    MIT App Inventor

    MIT · Uso gratuito (enlace; requiere cuenta)

  • Herramientas

    Blockly Games

    Google (código abierto) · Software libre (Apache 2.0)

Esquema y resumen (A4) Proyectar en clase

Estado curricular: Currículo general LOMLOE · Competencias: CE1. Pensamiento computacional · CE2. Diseño de algoritmos · CE3. Depuración y comprobación · CE4. Eficiencia y análisis de algoritmos · Referencia: RD 217/2022 · Revisado el 27/10/2026