← Volver a módulosTema 3 · Python intermedio

Bucles y estructuras de datos

Un programa deja de ser una calculadora cuando puede repetir tareas con bucles y agrupar muchos datos en listas, tuplas, sets y diccionarios. Cada subtema incluye un mini ejemplo que puedes ejecutar aquí mismo.

3.1

Listas

Una lista guarda muchos valores en una sola variable, entre corchetes [ ]. Mantienen el orden, permiten duplicados y se pueden modificar después de crearlas. El índice empieza en 0. Conocerlas es el paso previo para recorrerlas con un bucle.

Mini ejemplo · Lista Python 3 · se ejecuta en tu navegador
lecturas = [120, 118, 122]
lecturas.append(119)

print(lecturas)
print(lecturas[0])
print(len(lecturas))
La primera ejecución descarga el intérprete (~10 MB).

append() agrega una lectura al final; len() indica cuántos elementos hay.

  • lista[0] accede al primer elemento.
  • lista.append(x) agrega un elemento al final.
  • lista.remove(x) elimina la primera aparición de x.
3.2

Bucles for

for repite un bloque de instrucciones recorriendo una secuencia: los valores de range() o los elementos de una lista. Es el bucle que usamos cuando sabemos de antemano cuántas repeticiones habrá.

for con range()

range(3) genera los valores 0, 1 y 2, así que el bucle se ejecuta tres veces.

Mini ejemplo · for con range Python 3 · se ejecuta en tu navegador
for medicion in range(3):
    print("Lectura", medicion + 1)

print("Mediciones terminadas")
La primera ejecución descarga el intérprete (~10 MB).

Tres repeticiones: una por cada valor que genera range(3).

for sobre una lista

También puedes recorrer directamente los elementos de una lista, uno por cada vuelta.

Mini ejemplo · for sobre una lista Python 3 · se ejecuta en tu navegador
potencias = [60, 120, 240]

for p in potencias:
    print(p, "W")

print("Total:", len(potencias), "lamparas")
La primera ejecución descarga el intérprete (~10 MB).

Cada potencia se imprime en una línea distinta.

3.3

Bucles while

while repite el bloque mientras la condición sea verdadera. Es ideal cuando no sabes cuántas vueltas harán falta. Es obligatorio actualizar la variable de control dentro del bloque: si no, el bucle nunca termina.

Mini ejemplo · while Python 3 · se ejecuta en tu navegador
intentos = 1

while intentos <= 3:
    print("Intento", intentos)
    intentos = intentos + 1

print("Fin de la prueba")
La primera ejecución descarga el intérprete (~10 MB).

El contador crece en cada intento hasta llegar a 4 y salir del bucle.

Cuidado: si la condición del while nunca se vuelve falsa, el programa queda en un bucle infinito y hay que detenerlo.
3.4

Tuplas

Una tupla se escribe entre paréntesis ( ) y funciona igual que una lista, salvo que no se puede modificar después de creada. Es ideal para datos que no deben cambiar, como un identificador junto a sus valores.

Mini ejemplo · Tupla Python 3 · se ejecuta en tu navegador
nodo = ("A-1", 120, 24)

print(nodo[0])
print(nodo[1])
print(len(nodo))
La primera ejecución descarga el intérprete (~10 MB).

Se accede a cada valor por su índice, igual que en una lista.

Intentar modificar una tupla produce un error

Python protege la inmutabilidad de las tuplas y lanza un TypeError si intentas asignar un valor a una posición.

Mini ejemplo · Error al modificar una tupla Python 3 · se ejecuta en tu navegador
nodo = ("A-1", 120)
nodo[1] = 0
La primera ejecución descarga el intérprete (~10 MB).

TypeError: 'tuple' object does not support item assignment

3.5

Sets

Un set (conjunto) se escribe entre llaves y no admite elementos repetidos ni garantiza un orden. Es perfecto para eliminar duplicados y para preguntar si un elemento pertenece a la colección.

Mini ejemplo · Set Python 3 · se ejecuta en tu navegador
componentes = {"resistor", "capacitor", "resistor"}

print(len(componentes))
print("resistor" in componentes)
print("diodo" in componentes)
La primera ejecución descarga el intérprete (~10 MB).

El "resistor" repetido desaparece: el set guarda 2 elementos distintos.

  • add(x) agrega un elemento (si ya existe, no cambia nada).
  • x in set comprueba si el elemento pertenece al conjunto.
  • len(set) cuenta los elementos únicos.
3.6

Diccionarios

Un diccionario guarda pares de clave: valor. En lugar de acceder por posición, accedes por la etiqueta que le diste, lo que vuelve el código mucho más legible cuando manejas registros de datos.

Mini ejemplo · Diccionario Python 3 · se ejecuta en tu navegador
motor = {"id": "M-1", "voltaje": 120, "estado": "activo"}

print(motor)
print(motor["voltaje"])

motor["estado"] = "detenido"
print(motor["estado"])
La primera ejecución descarga el intérprete (~10 MB).

Se lee un valor con su clave ["voltaje"] y se actualiza asignando uno nuevo.

  • clave identifica al dato; no puede repetirse dentro del diccionario.
  • dic["clave"] devuelve el valor asociado.
  • dic["clave"] = nuevo_valor actualiza o agrega la clave.
¿Cuál elijo? Lista cuando el orden importa y todo es modificable; tupla cuando los datos no deben cambiar; set para eliminar duplicados; diccionario para acceder por nombre.