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.
Desafío
IntermedioCrea un programa que simule un carrito de compras con manejo de errores. Tu tarea es:
- Crear una función llamada
handle_shopping_cartque procese los pedidos de los clientes - La función debe aceptar una lista de cadenas de pedidos con el formato "item:quantity"
- 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
- 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}"
- 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 cartTodas las lecciones de Lógica y flujo
1Exploración de variables
ConstantesAsignación de múltiples variablesIntercambio de variablesVariables de marcador de posiciónRedondear númerosCasting de listas4Aplicación de Agenda de Contactos
Mostrar MenúAgregar Contacto7Conjuntos Parte 2
Operaciones matemáticas Parte 1Operaciones matemáticas Parte 2Resumen - Búsqueda del tesoroSubconjuntos y superconjuntosIterar sobre conjuntosResumen - Rastreador de torneos10Comprensión de listas básica
La sintaxisCreación de listas simplesAñadir condicionesUso de agregación de datosResumen - La casa de las listasResumen - Elementos de libertad13Sistema de Gestión de Inventarios
Descripción general del proyectoAgregar artículo2Diccionarios Parte 1
¿Qué es un diccionario?Crear un diccionarioAcceder a los valoresModificar diccionariosResumen - Gestor de recetas5Toma de decisiones avanzada
Operador ternarioComprobaciones de pertenenciaComprobaciones de identidadErrores de sangríaRepaso - Filtro de vacaciones8Gestor de registros de estudiantes
Descripción general del proyectoAñadir estudiante11Funciones avanzadas
Retornar múltiples valoresFunciones Lambda Parte 1Funciones Lambda Parte 2Desafío de repaso - Lambda SortFunciones recursivas Parte 1Funciones recursivas Parte 2Repaso - Sumar listas anidadas14Funciones de orden superior
La función MapLa función FilterRepaso - Validador de emailsRepaso - Procesador de números3Diccionarios Parte 2
Métodos de diccionariosDiccionarios anidadosVerificación de clavesIterar sobre diccionariosResumen - Contador de frecuencia6Conjuntos - Parte 1
¿Qué es un conjunto?Operaciones básicasMétodos de conjuntosResumen - Eliminar duplicados9Agregación de datos avanzada
Uso de SumBúsqueda de mínimo y máximoOrdenar datos de manera eficienteRepaso - Ordenador de diccionarios12Manejo básico de errores
¿Qué es el manejo de errores?El bloque Try y ExceptManejo de múltiples excepcionesResumen: Errores del carrito de comprasPractica por tu cuenta: Compilador de Python online