13. CRUD con listas y diccionarios: productos y expendedora 🛒
¿Qué es un CRUD?
Es el conjunto de operaciones típicas sobre datos: Crear (altas), Read
(leer / listar), Update (modificar) y Delete (borrar). Aquí lo practicas
primero guardando cada producto como una fila [nombre, precio] dentro de una
lista, y después con un diccionario indexado por código (ideal para códigos de máquina
expendedora).
1. Lista de productos: CRUD y cálculos
Cada elemento es [nombre, precio]. Los precios son números (por ejemplo float).
2. Mismo problema con diccionario (código → producto)
La clave puede ser el código de la repisa ("A1", "B2"…). El valor es un pequeño
registro con nombre y precio. El CRUD usa dict[key], del, comprobar
key in dict, etc.
🐍 Reto rápido
Partiendo del ejemplo en lista, añade una función que devuelva el precio medio de todos los productos (suma de precios / cantidad). Evita división por cero si la lista está vacía.
👁️ Pista
Usa suma_precios(lista) / len(lista) solo cuando la lista no esté vacía (por ejemplo
if lista: antes de dividir).
3. Máquina expendedora: comprar con saldo y stock
Combinas catálogo (código → nombre y precio) con otro diccionario de stock por código. El
usuario ve el menú, introduce dinero y el código; restas stock y cobras el precio. Incluye validaciones
básicas y try/except al leer números.