BÁSICO#

Na primeira etapa do desenvolvimento, vamos implementar os itens a seguir:

Etapa 1#

No arquivo funcoes.py, faça a função imprime_cardapio que recebe como argumento um dicionário com os tipo de recheio (sabor), preços e identificador e imprima o cardápio no terminal da seguinte forma: [ID] SABOR: R$PRECO, onde ID é o identificador do produto, SABOR é o sabor do pastel e PRECO é o preço do produto. Todas essas informações devem ser obtidas do dicionário recebido pela função. Importante: O cardápio só deve imprimir os itens que possuem estoque. Ou seja, produtos com quantidade igual a 0 não devem aparecer no cardápio.

O dicionário terá a seguinte estrutura:

estoque = {
    'carne': {
      'quantidade':10,
      'preço':9,
      'identificador':1
      },
    'queijo': {
      'quantidade':10,
      'preço':9,
      'identificador':2
    }
    'frango': {
      'quantidade':0,
      'preço':9,
      'identificador':3
    }
}

Note que o dicionário acima é apenas um exemplo, e os valores podem ser diferentes.

Exemplo:

imprime_cardapio(estoque)

Saída:

[1] Carne: R$9.00
[2] Queijo: R$9.00
Importante: Perceba que a primeira letra do sabor do pastel se encontra em caixa alta. Além disso, os preços devem ser formatados com duas casas decimais. Não é necessário imprimir na ordem dos identificadores.


Etapa 2#

Como o cliente fará a escolha de seus pedidos baseado no número do identificador apresentado pelo cardápio, então o próximo passo é construir a função get_sabor, que recebe como argumentos o número identificador do produto e o dicionário de estoque e retorna o sabor do pastel referente ao identificador. Importante: a função deve ser implementada no arquivo funcoes.py.

Exemplo:

estoque = {
    'carne': {
      'quantidade':10,
      'preço':9,
      'identificador':1
      },
    'queijo': {
      'quantidade':10,
      'preço':9,
      'identificador':2
    }
}

print(get_sabor(2, estoque))

Saída:

queijo


Etapa 3#

O próximo passo é construir um dicionário com o pedido do cliente. No arquivo funcoes.py, faça a função adiciona_item que recebe como argumento um dicionário do pedido do cliente, um sabor e a quantidade de itens deste sabor e retorna o dicionário atualizado. Ou seja, a função deve inserir as informações de sabor e quantidade no dicionário de pedido. Note que se o sabor já existir no dicionário a função deve somar a quantidade.

Exemplo:

pedido = {}

print(adiciona_item(pedido, 'queijo', 2))

Saída:

{'queijo':2 }


Etapa 4#

Agora vamos utilizar as funções que construímos para criar um programa que apresenta o cardápio para o cliente e registra o pedido.

Importante

Esta etapa deve ser implementada no arquivo programa.py. Note que se você colocar a implementação deste item no arquivo errado, ele poderá prejudicar os seus testes.

O programa deve iniciar com a seguinte mensagem Seja bem vind@! O que você gostaria de pedir?.

Logo em seguida o cardápio deve ser apresentado com as opções disponíveis. O dicionário de estoque já existe e não deve ser criado (não altere o dicionário). Além disso, o programa deve oferecer uma opção de finalizar o pedido no seguinte formato [fim] Finalizar pedido. Se o cliente digitar fim o programa deve finalizar.

O programa deve pedir que o cliente digite uma das opções. Note que o cliente vai digitar o valor que está entre colchetes []. Se a opção for um sabor de pastel, então o programa deve perguntar a quantidade para aquele sabor. Com essas informações inseridas pelo cliente, o sistema deve fazer o registro do pedido no dicionário de pedidos.

Em seguida, o programa deve imprimir novamente as opções do cardápio, possibilitando ao cliente adicionar mais itens ao pedido até que o cliente escolha finalizar o pedido. 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
[fim] Finalizar pedido

Digite a opção desejada: 1
Informe a quantidade desejada: 2

CARDÁPIO
[1] Carne: R$9.00
[2] Queijo: R$9.00
[fim] Finalizar pedido

Digite a opção desejada: fim

Importante

Não é necessário fazer a validação da entrada do usuário. Assuma que o cliente sempre digitará as opções válidas.