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:
Mostrar una lista de tareas
Añadir una tarea
Eliminar una tarea
Buscar una tarea por nombre
Salir
El menú debe repetirse hasta que el usuario elija la opción 5.
Pistas
Usa un
while Truepara el menú.Usa
forpara mostrar las tareas.Usa
breakpara salir.Usa
continuepara 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.