PIZZARIA EM PYTHON (DESAFIO #1)
SITUAÇÃO PROBLEMA DA PIZZARIA
Como proprietária de uma pizzaria, tenho enfrentado problemas com pedidos incorretos e entregas inadequadas, afetando a satisfação dos clientes e a reputação do meu negócio. Para resolver isso, necessito de um programa que permita aos clientes fazerem pedidos de forma precisa e personalizada, garantindo a inclusão correta de todos os itens desejados em suas pizzas. Com essa solução, espero restaurar a confiança dos clientes e melhorar a eficiência operacional da minha pizzaria.
REQUISITOS DO PROGRAMA DA PIZZARIA
- O programa deve ser desenvolvido em python;
- O cardápio deve conter 5 sabores de pizza;
- Em cada sabor de pizza será possível acrescentar 3 ingredientes;
- Ao final do pedido perguntar qual forma de pagamento (Pix, dinheiro, cartão);
- Quando o pedido for concluído, gerar uma nota fiscal com os detalhes do pedido.
ENTRADAS
- Qual o sabor da pizza escolhida?
- Quais ingredientes vai querer acrescentar?
- Qual a forma de pagamento?
FUNÇÃO EXIBIR CARDÁPIO
def exibir_cardapio():
cardapio = {
1: "Margherita",
2: "Pepperoni",
3: "Frango com Catupiry",
4: "Quatro Queijos",
5: "Calabresa"
}
print("Cardápio de Pizzas:")
for chave, valor in cardapio.items():
print(f"{chave} - {valor}")
return cardapio
FUNÇÃO ESCOLHER PIZZA
def escolher_pizza(cardapio):
while True:
try:
escolha = int(input("Escolha o sabor da pizza (1-5): "))
if escolha in cardapio:
return cardapio[escolha], escolha
else:
print("Escolha inválida. Tente novamente.")
except ValueError:
print("Entrada inválida. Digite um número de 1 a 5.")
FUNÇÃO DEFINIR PREÇO
def definir_preco_pizza(escolha):
if escolha == 1:
return 25.00
elif escolha == 2:
return 30.00
elif escolha == 3:
return 28.00
elif escolha == 4:
return 32.00
elif escolha == 5:
return 27.00
FUNÇÃO EXIBIR INGREDIENTES
def exibir_ingredientes():
ingredientes = {"A": "Catupiri",
"B": "Cheddar",
"C": "+Queijo"}
for codigo, ingrediente in ingredientes.items():
print(f"{codigo} - {ingrediente}")
return ingredientes
FUNÇÃO ESCOLHER INGREDIENTES
def escolher_ingredientes(ingredientes):
ingredientes_escolhidos = []
while len(ingredientes_escolhidos) < 3:
ingrediente_escolher = input("Digite o código do ingrediente ou S(sair): ").upper()
if ingrediente_escolher == "S":
break
if ingrediente_escolher in ingredientes:
ingredientes_escolhidos.append(ingrediente_escolher)
total_preco_ingredientes = len(ingredientes_escolhidos) * 3.00
return ingredientes_escolhidos, total_preco_ingredientes
FUNÇÃO ESCOLHER PAGAMENTO
def escolher_pagamento():
formas_pagamento = ["Pix", "Dinheiro", "Cartão"]
while True:
print("Formas de pagamento:")
for i, forma in enumerate(formas_pagamento, start=1):
print(f"{i} - {forma}")
try:
escolha = int(input("Escolha a forma de pagamento (1-3): "))
if 1 <= escolha <= 3:
return formas_pagamento[escolha - 1]
else:
print("Escolha inválida. Tente novamente.")
except ValueError:
print("Entrada inválida. Digite um número de 1 a 3.")
FUNÇÃO GERAR NOTA
def gerar_nota_fiscal(pizza, preco_pizza, ingredientes, custo_ingredientes, pagamento):
total = preco_pizza + custo_ingredientes
print("\n--- Nota Fiscal ---")
print(f"Pizza escolhida: {pizza} - R$ {preco_pizza:.2f}")
if ingredientes:
print(f"Ingredientes adicionais: {', '.join(ingredientes)} - R$ {custo_ingredientes:.2f}")
else:
print("Ingredientes adicionais: Nenhum - R$ 0.00")
print(f"Forma de pagamento: {pagamento}")
print(f"Total: R$ {total:.2f}")
print("-------------------\n")
FUNÇÃO MAIN
def main():
cardapio = exibir_cardapio()
pizza, escolha_pizza = escolher_pizza(cardapio)
preco_pizza = definir_preco_pizza(escolha_pizza)
dicionario_ingredientes = exibir_ingredientes()
ingredientes, custo_ingredientes = escolher_ingredientes(dicionario_ingredientes)
pagamento = escolher_pagamento()
gerar_nota_fiscal(pizza, preco_pizza, ingredientes, custo_ingredientes, pagamento)
# Execute a função principal
if __name__ == "__main__":
main()
Gostou do desafio de python #1? Deixe seu comentário!