Bucles For y While

 Los bucles permiten repetir código varias veces sin tener que escribirlo de nuevo.

1. Bucle for

Se usa cuando sabemos cuántas veces queremos repetir algo o cuando recorremos una colección (lista, tupla, diccionario, string…).

 Ejemplo básico

for i in range(5):
    print("Hola", i)

Salida:

Hola 0
Hola 1
Hola 2
Hola 3
Hola 4

Recorrer listas

frutas = ["manzana", "pera", "kiwi"]

for fruta in frutas:
    print(fruta)

Recorrer diccionarios

persona = {"nombre": "Ana", "edad": 22}

for clave, valor in persona.items():
    print(clave, ":", valor)

For con condiciones

for n in range(10):
    if n % 2 == 0:
        print(n, "es par")

2. Bucle while

Se usa cuando queremos repetir algo mientras una condición sea verdadera.

Ejemplo básico

contador = 0

while contador < 5:
    print("Contador:", contador)
    contador += 1

Bucle infinito (y cómo evitarlo)

while True:
    comando = input("Escribe 'salir' para terminar: ")
    if comando == "salir":
        break

Palabras clave útiles

break → salir del bucle

for n in range(10):
    if n == 5:
        break

continue → saltar a la siguiente iteración

for n in range(5):
    if n == 2:
        continue
    print(n)

ACTIVIDAD PRÁCTICA: “Menú interactivo de utilidades”

Objetivo: que tus alumnos combinen for, while, condiciones y entradas de usuario para crear un sistema realista.

Enunciado

Crea un programa con un menú interactivo que permita al usuario elegir entre varias opciones:

  1. Mostrar una lista de tareas

  2. Añadir una tarea

  3. Eliminar una tarea

  4. Buscar una tarea por nombre

  5. Salir

El menú debe repetirse hasta que el usuario elija la opción 5.

Pistas

  • Usa un while True para el menú.

  • Usa for para mostrar las tareas.

  • Usa break para salir.

  • Usa continue para evitar errores.

Solución propuesta

tareas = []

while True:
    print("\n--- MENÚ DE TAREAS ---")
    print("1. Mostrar tareas")
    print("2. Añadir tarea")
    print("3. Eliminar tarea")
    print("4. Buscar tarea")
    print("5. Salir")

    opcion = input("Elige una opción: ")

    # 1. Mostrar tareas
    if opcion == "1":
        if not tareas:
            print("No hay tareas.")
        else:
            print("\nLista de tareas:")
            for i, t in enumerate(tareas, start=1):
                print(f"{i}. {t}")

    # 2. Añadir tarea
    elif opcion == "2":
        nueva = input("Introduce la nueva tarea: ")
        tareas.append(nueva)
        print("Tarea añadida.")

    # 3. Eliminar tarea
    elif opcion == "3":
        eliminar = input("Introduce el nombre de la tarea a eliminar: ")
        if eliminar in tareas:
            tareas.remove(eliminar)
            print("Tarea eliminada.")
        else:
            print("La tarea no existe.")

    # 4. Buscar tarea
    elif opcion == "4":
        buscar = input("Introduce el texto a buscar: ")
        print("Resultados:")
        for t in tareas:
            if buscar.lower() in t.lower():
                print("-", t)

    # 5. Salir
    elif opcion == "5":
        print("Saliendo del programa...")
        break

    else:
        print("Opción no válida. Intenta de nuevo.")

Ejemplo de uso

--- MENÚ DE TAREAS ---
1. Mostrar tareas
2. Añadir tarea
3. Eliminar tarea
4. Buscar tarea
5. Salir
Elige una opción: 2
Introduce la nueva tarea: Estudiar Python
Tarea añadida.