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 · ListaPython 3 · se ejecuta en tu navegador
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 rangePython 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 listaPython 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 · whilePython 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 · TuplaPython 3 · se ejecuta en tu navegador
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 tuplaPython 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 · SetPython 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 · DiccionarioPython 3 · se ejecuta en tu navegador
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.