Menu
CoddyTech

Resumen: Errores del carrito de compras

Parte de la sección Lógica y flujo del Journey de Python de Coddy. Lección 66 de 78.

challenge icon

Desafío

Intermedio

Crea un programa que simule un carrito de compras con manejo de errores. Tu tarea es:

  1. Crear una función llamada handle_shopping_cart que procese los pedidos de los clientes
  2. La función debe aceptar una lista de cadenas de pedidos con el formato "item:quantity"
  3. Procesar cada pedido de la siguiente manera:
    • Dividir la cadena de entrada para obtener el artículo y la cantidad
    • Convertir la cantidad en un entero
    • Añadir el artículo a un diccionario del carrito de compras, usando la cantidad como valor
    • Si un artículo ya existe en el carrito, añadir la nueva cantidad a su cantidad existente
  4. Manejar estos errores específicos:
    • Si el formato de entrada es incorrecto (falta dos puntos), imprimir "Invalid format: {order}"
    • Si la cantidad no es un número válido, imprimir "Invalid quantity: {order}"
    • Si la cantidad es negativa, imprimir "Negative quantity not allowed: {order}"
  5. Devolver el diccionario del carrito de compras completado

Comprueba el formato y la cantidad negativa con un if. Solo convertir la cantidad en un entero puede generar un error, por lo que en except ValueError se imprime "Invalid quantity: {order}". Mantén el último bloque except Exception as e como medida de seguridad e imprime allí "Unexpected error: {e}".

Pruébalo tú mismo

def handle_shopping_cart(orders):
    # Crea un diccionario vacío para el carrito de compras
    cart = {}

    # Procesa cada pedido de la lista
    for order in orders:
        try:
            # Divide el pedido, comprueba el formato y la cantidad, luego añádelo al carrito
            pass

        except ValueError:
            # La cantidad no era un número
            pass

        except Exception as e:
            # Cualquier cosa inesperada
            pass

    # Devuelve el carrito completado
    return cart

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Compilador de Python online