from machine import Pin
import time
# Configuración de LEDs
ledred = Pin(6, Pin.OUT)
ledgreen = Pin(7, Pin.OUT)
ledblue = Pin(8, Pin.OUT)
# Configuración de botones
boton1 = Pin(18, Pin.IN, Pin.PULL_UP)
boton2 = Pin(19, Pin.IN, Pin.PULL_UP)
boton3 = Pin(20, Pin.IN, Pin.PULL_UP)
def llenado(matx):
i = 0
k = 0
j = 0
print("Presione los botones para llenar la matriz: ")
for i in range(3):
j = 0
while j < 10: # Cambiado a 10
if boton1.value() == 0: # Botón rojo
print(f"A[", i, ",", j, "]: r", end=" ")
print()
matx[k + j] = "r"
ledred.value(1)
elif boton2.value() == 0: # Botón verde
print(f"A[", i, ",", j, "]: g", end=" ")
print()
matx[k + j] = "g"
ledgreen.value(1)
elif boton3.value() == 0: # Botón azul
print(f"A[", i, ",", j, "]: b", end=" ")
print()
matx[k + j] = "b"
ledblue.value(1)
else:
time.sleep(0.1) # Esperar un poco antes de seguir
continue
j += 1 # Aumentar el contador solo si se presionó un botón
time.sleep(0.1) # Esperar un poco para evitar rebotes
k += 10 # Cambiado a 10
print(" ")
def despliegue(matx):
k = 0
for i in range(3):
for j in range(10): # Cambiado a 10
dato = matx[k + j]
print(dato, " ", end="")
if dato == "r":
ledred.value(1)
ledgreen.value(0)
ledblue.value(0)
elif dato == "g":
ledred.value(0)
ledgreen.value(1)
ledblue.value(0)
elif dato == "b":
ledred.value(0)
ledgreen.value(0)
ledblue.value(1)
time.sleep(1)
k += 10 # Cambiado a 10
print(" ")
def borrado(matx):
for i in range(30): # Cambiado a 30
matx[i] = "0"
def ordenado_ascendente(matx):
matx.sort(key=lambda x: {"r": 1, "g": 2, "b": 3}.get(x, 0))
if __name__ == '__main__':
mata = ["0"] * 30 # Cambiado a 30
while True:
print("\nSeleccione una operación:")
print("1. Llenado de matriz")
print("2. Despliegue de matriz")
print("3. Borrado de matriz")
print("4. Ordenado ascendente de la matriz")
print("5. Salir")
opcion = input("Ingrese el número de la operación: ")
if opcion == '1':
llenado(mata)
elif opcion == '2':
print("Matriz actual:")
despliegue(mata)
elif opcion == '3':
borrado(mata)
print("Matriz borrada.")
elif opcion == '4':
ordenado_ascendente(mata)
print("Matriz ordenada ascendentemente:")
despliegue(mata)
Loading
pi-pico-w
pi-pico-w