← Índice Valentina Tech
Laboratorio 6 · Curso de Programación · CircuitPython

Listas en Python: organizando muchos datos en una sola estructura

Objetivos

En este laboratorio aprenderás a:


Material necesario


Introducción

Hasta ahora has trabajado con variables como:

Pero hay un problema:

👉 ¿qué pasa si necesitas guardar muchos valores a la vez?

Por ejemplo:

Si usas variables separadas, el programa se vuelve caótico.

Aquí aparecen las listas.


📦 ¿Qué es una lista?

Una lista es una estructura que permite guardar muchos valores juntos.

Ejemplo:

colores = ["rojo", "verde", "azul"]

Esto significa:


🧠 Analogía sencilla

Una lista es como:

Cada elemento tiene una posición.


💡 Curiosidad:
Las listas son una de las estructuras más importantes en programación. Sin ellas, no existirían videojuegos ni aplicaciones modernas.


🔢 Índices en listas

En programación, las posiciones empiezan en 0:

colores = ["rojo", "verde", "azul"]
#           0        1        2

Esto es muy importante.


🎨 Listas con Circuit Playground Express

Vamos a usar listas para controlar los 10 LEDs.

Cada LED tiene una posición:

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

🧪 Ejemplo 1: encender una secuencia de colores

Código

import time
from adafruit_circuitplayground import cp

colores = [
    (255, 0, 0),   # rojo
    (0, 255, 0),   # verde
    (0, 0, 255)    # azul
]

cp.pixels.brightness = 0.2

while True:

    for i in range(10):

        color = colores[i % len(colores)]
        cp.pixels[i] = color

    time.sleep(1)

🔍 Explicación

1. Lista de colores

colores = [
    (255, 0, 0),
    (0, 255, 0),
    (0, 0, 255)
]

Tenemos 3 colores guardados.


2. Usar módulo %

i % len(colores)

Esto significa:

👉 repetir la lista cuando se acabe

Ejemplo:


3. Aplicar colores a LEDs

Cada LED toma un color de la lista.


🧪 Ejemplo 2: encendido progresivo

import time
from adafruit_circuitplayground import cp

cp.pixels.brightness = 0.2

while True:

    for i in range(10):
        cp.pixels[i] = (0, 255, 0)
        time.sleep(0.2)

    time.sleep(1)

    for i in range(10):
        cp.pixels[i] = (0, 0, 0)

🔍 Resultado esperado


🧪 Ejemplo 3: lista de estados visuales

import time
from adafruit_circuitplayground import cp

estados = [
    (0, 0, 255),   # calma
    (255, 255, 0), # alerta
    (255, 0, 0)    # alarma
]

indice = 0

cp.pixels.brightness = 0.2

while True:

    color = estados[indice]

    for i in range(10):
        cp.pixels[i] = color

    time.sleep(1)

    indice = indice + 1

    if indice >= len(estados):
        indice = 0

🔍 Resultado esperado


🧠 Concepto clave

Las listas permiten:


🔧 Retos del laboratorio


🟢 Reto 1: Carril de luces

Crea una lista de un solo color:

💡 Ejemplo esperado:


🟡 Reto 2: Patrón aleatorio

Crea una lista con 4 colores:

Haz que cada LED tome un color aleatorio de la lista.

💡 Resultado esperado:


🔴 Reto 3: Memoria de colores

Haz que:

💡 Objetivo:


🔴 Reto avanzado: secuencia musical visual

Crea una lista que represente una “melodía visual”:

La secuencia debe repetirse como un ritmo.

💡 Ejemplo:

rojo → rojo → azul → verde → azul → rojo


🧠 Desafío final

Diseña un sistema que:


Resumen del laboratorio

En este laboratorio aprendiste:

Ahora puedes organizar información como un programador real:

👉 no solo controlas una luz, ahora controlas grupos completos de comportamientos organizados

Valentina Tech · Circuit Playground Express · CircuitPython