PROFICIENTE#

Com a versão básica funcionando podemos desenvolver as próximas funcionalidades do nosso sistema. Para isso, vamos seguir as etapas descritas a seguir:

Etapa 1#

Ao finalizar o pedido, precisamos apresentar o valor total da compra para o cliente. Para isso, no arquivo funcoes.py, implemente a função calcula_total que recebe como argumento os dicionários do pedido e estoque e retorna o valor total da compra.

Exemplo:

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

print(calcula_total(pedido, estoque))

Saída:

18

Altere também o código do arquivo programa.py para utilizar a função calcula_total e imprimir a mensagem Valor total: R$VALOR ao término do programa, onde VALOR é o valor total da compra com duas casas decimais. 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

Valor total: R$18.00

Etapa 2#

Nosso sistema precisa efetuar a cobrança da compra. O cliente tem a opção de pagar com cartão de débito, crédito ou vale refeição. Além disso, precisamos saber qual é a bandeira do cartão.

As vendas são armazenadas em um dicionário com estrutura similar ao exemplo abaixo. Note que o dicionário abaixo é apenas um exemplo e seus valores podem variar:

vendas = {
  'debito' : {
      'visa': 50,
      'mastercard':100,
      'elo': 150,
      'american express': 10
  },
  'credito': {
      'maestro':200,
      'hipercard':230.99
  },
  'refeicao':{
    'ticket' : 50.55,
    'alelo' : 21.99
  }
}

Para esta etapa precisamos implementar a função cobranca que recebe como argumentos o dicionário de vendas, o valor total da compra, método de pagamento (crédito, débito ou refeição) e a bandeira do cartão. A função deve retornar o dicionário das vendas com o valor atualizado de acordo com o método e a bandeira do cartão. Se o método de pagamento ou a bandeira não existirem a função deve criar um novo item no dicionário. Importante: A função deve ser implementada no arquivo funcoes.py.

Exemplo:

vendas = {
  'debito' : {
      'visa': 50,
      'mastercard':100,
      'elo': 150,
      'american express': 10
  },
  'credito': {
      'maestro':200,
      'hipercard':230.99
  },
  'refeicao':{
    'ticket' : 50.55,
    'alelo' : 21.99
  }
}


print(cobranca(vendas, 19, 'debito', 'visa'))

Saída:

{
  'debito' : {
      'visa': 69,
      'mastercard':100,
      'elo': 150,
      'american express': 10
  },
  'credito': {
      'maestro':200,
      'hipercard':230.99
  },
  'refeicao':{
    'ticket' : 50.55,
    'alelo' : 21.99
  }
}