Recapitulação - Erros no Carrinho de Compras
Parte da seção Lógica e Fluxo do Journey de Python da Coddy. Lição 66 de 78.
Desafio
MédioCrie um programa que simule um carrinho de compras com tratamento de erros. Sua tarefa é:
- Criar uma função chamada
handle_shopping_cartque processe os pedidos dos clientes - A função deve aceitar uma lista de strings de pedidos no formato "item:quantity"
- Processar cada pedido:
- Dividir a string de entrada para obter o item e a quantidade
- Converter a quantidade em um inteiro
- Adicionar o item a um dicionário de carrinho de compras, usando a quantidade como valor
- Se um item já existir no carrinho, adicionar a nova quantidade à quantidade existente
- Tratar estes erros específicos:
- Se o formato da entrada estiver incorreto (faltando dois-pontos), imprimir "Invalid format: {order}"
- Se a quantidade não for um número válido, imprimir "Invalid quantity: {order}"
- Se a quantidade for negativa, imprimir "Negative quantity not allowed: {order}"
- Retornar o dicionário do carrinho de compras concluído
Verifique o formato e a quantidade negativa com um if. Somente transformar a quantidade em um inteiro pode gerar um erro, portanto except ValueError é onde "Invalid quantity: {order}" é impresso. Mantenha o último bloco except Exception as e como uma rede de segurança e imprima "Unexpected error: {e}" nele.
Experimente você mesmo
def handle_shopping_cart(orders):
# Crie um dicionário vazio para o carrinho de compras
cart = {}
# Processe cada pedido na lista
for order in orders:
try:
# Divida o pedido, verifique o formato e a quantidade, depois adicione-o ao carrinho
pass
except ValueError:
# A quantidade não era um número
pass
except Exception as e:
# Qualquer coisa inesperada
pass
# Retorne o carrinho completo
return cartTodas as lições de Lógica e Fluxo
1Exploração de Variáveis
ConstantesAtribuição de Múltiplas VariáveisTroca de VariáveisVariáveis de Espaço ReservadoArredondar NúmerosCasting de Listas4Aplicativo de Agenda de Contatos
Exibir MenuAdicionar Contato7Conjuntos Parte 2
Operações Matemáticas Parte 1Operações Matemáticas Parte 2Revisão - Caça ao TesouroSubconjuntos e SuperconjuntosIterando sobre ConjuntosRevisão - Rastreador de Torneio10List Comprehensions Básicas
A SintaxeCriando Listas SimplesAdicionando CondiçõesUsando Agregação de DadosRecapitulação - House Of ListsRecapitulação - Elements Of Freedom13Sistema de Gerenciamento de Inventário
Visão Geral do ProjetoAdicionar Item2Dicionários Parte 1
O que é um Dicionário?Criando um DicionárioAcessando ValoresModificando DicionáriosRecapitulação - Gerenciador de Receitas5Tomada de Decisão Avançada
Operador TernárioVerificações de PertencimentoVerificações de IdentidadeErros de IndentaçãoRecapitulação - Filtro de Férias8Gerenciador de Registros de Alunos
Visão Geral do ProjetoAdicionar Aluno11Funções Avançadas
Retornando Múltiplos ValoresFunções Lambda Parte 1Funções Lambda Parte 2Desafio de Recapitulação - Lambda SortFunções Recursivas Parte 1Funções Recursivas Parte 2Recapitulação - Somar Listas Aninhadas14Funções de Ordem Superior
A Função MapA Função FilterRecapitulação - Validador de E-mailRecapitulação - Processador de Números3Dicionários Parte 2
Métodos de DicionárioDicionários AninhadosVerificando ChavesIterando em DicionáriosRecapitulação - Contador de Frequência6Conjuntos Parte 1
O que é um Conjunto?Operações BásicasMétodos de ConjuntosRecapitulação - Remover Duplicatas9Agregação de Dados Avançada
Usando SumEncontrando Mínimo e MáximoOrdenando Dados de Forma EficienteRecapitulação - Dictionary Sorter12Tratamento Básico de Erros
O que é Tratamento de Erros?O Bloco Try e ExceptTratando Múltiplas ExceçõesRecapitulação - Erros no Carrinho de ComprasPratique por conta própria: Compilador de Python online