AVANÇADO#
O protótipo do sistema de vendas de pastéis está quase pronto. Vamos finalizá-lo seguindo os passos a seguir:
Etapa 1#
O aplicativo de vendas de pastéis ainda não atualiza o dicionário de estoque. Para esta funcionalidade vamos implementar uma função chamada verifica_estoque, que recebe como argumentos o dicionário de estoque, o sabor do pastel e a quantidade de pastéis. A função deve retornar True se existe estoque suficiente para a quantidade desejada, ou False, caso contrário.
Exemplo:
estoque = {
'carne': {
'quantidade':10,
'preço':9,
'identificador':1
},
'queijo': {
'quantidade':2,
'preço':9,
'identificador':2
}
}
print(verifica_estoque(estoque, 'queijo', 5))
Saída:
Etapa 2#
Utilize a função criada na etapa anterior para validar se há quantidade suficiente de pastéis no estoque. Caso o estoque não seja suficiente para atender o pedido do cliente, precisamos informá-lo quantos pastéis daquele sabor existem no estoque para que ele posso pedir a quantidade restante.
Se o cliente pedir uma quantidade de pastéis não disponível no estoque, o aplicativo deve informá-lo com a seguinte mensagem: Quantidade de pastéis insuficiente no estoque. Restam somente X pastéis de SABOR., onde X é a quantidade de pastéis no estoque e SABOR é o sabor escolhido pelo cliente.
Após imprimir essas mensagem o programa deve imprimir o cardápio novamente e pedir para o cliente fazer a escolha novamente. Abaixo segue um exemplo de interação do cliente com o programa:
Seja bem vind@! O que você gostaria de pedir?
CARDÁPIO
[1] Carne: R$9.00
[2] Queijo: R$9.00
[4] Pizza: R$9.00
[fim] Finalizar pedido
Digite a opção desejada: 1
Informe a quantidade desejada: 11
Quantidade de pastéis insuficiente no estoque. Restam somente 10 pastéis de carne.
CARDÁPIO
[1] Carne: R$9.00
[2] Queijo: R$9.00
[4] Pizza: R$9.00
[fim] Finalizar pedido
Digite a opção desejada: 1
Informe a quantidade desejada: 10
CARDÁPIO
[2] Queijo: R$9.00
[4] Pizza: R$9.00
[fim] Finalizar pedido
Digite a opção desejada: fim
Valor total: R$90.00
Além disso, sempre que o cliente adicionar itens ao pedido dele, precisamos atualizar a quantidade de pastéis no estoque. Ou seja,
se o cliente escolher 2 pastéis de queijo, o programa deve atualizar o dicionário de estoque subtraindo em 2 a quantidade de pastéis de queijo.
Etapa 3#
A empresa Gourmet Pastéis costuma fazer promoções em certas datas festivas. A promoção consiste em dar ao cliente um pastel de brinde a cada 4 pastéis comprados. Porém, somente os pastéis que custam R$9.00 ou mais contam para a promoção.
Desta forma, implemente a função calcula_total_com_promocao que recebe como argumentos o dicionário de estoque e o dicionário do pedido e retorna o valor total do pedido descontando o valor dos pastéis de brinde. O pastel de brinde é sempre o de menor valor.
Exemplo:
estoque = {
'carne': {
'quantidade':10,
'preço':9,
'identificador':1
},
'queijo': {
'quantidade':2,
'preço':9,
'identificador':2
}
}
pedido = {'queijo': 4, 'carne':2}
print(calcula_total_com_promocao(estoque, pedido))
Saída:
No exemplo acima foram comprados 6 pastéis, todos custando R\$ 9,00. Os 4 primeiros pastéis dão direito a 1 pastel de brinde. Assim, o cliente pagará por 5 dos 6 pastéis, totalizando R\$ 45,00.