• Python
  • 10. Armazenamento de chaves e valores em dicionários

Compras no Mercado#

2021.2: Quiz 4

Fazer compras em um supermercado deveria ser um processo simples mas, infelizmente, é preciso sempre estar atento aos preços. Um dos grandes problemas é chegar ao caixa e os valores dos produtos estarem diferentes das etiquetas das prateleiras. Porém, pelo código de defesa do consumidor, deve sempre prevalecer o menor preço. Assim, se no caixa o preço do produto estiver menor, vale o preço do caixa. Do contrário, o cliente deve receber a diferença de volta.

Faça uma função que recebe um dicionário com os preços dos produtos marcados nas prateleiras, um dicionário com os preços dos produtos no sistema do caixa e uma lista de compras e, ao final, retorna o valor que deve ser devolvido ao cliente. Ambos os dicionários têm nomes de produtos como chaves e dicionários como valores; esses dicionários internos têm marcas como chaves e seus respectivos preços como valores. Na lista de compras, cada elemento é uma lista com exatamente 3 elementos: nome do produto, marca e quantidade.

Exemplo:#

  • Entradas
    • Prateleiras:
      {
          'requeijão': {
              'Minas': 5,
              'Buritis': 6,
              'Queijinho': 7
          },
          'sabão': {
              'Pura Espuma': 10,
              'Lavagem Perfeita': 12.5,
              'Cromo': 15.7
          },
          'arroz': {
              'Prato Fundo': 20,
              'Tio José': 23,
              'Cadez': 25
          },
          'macarrão': {
              'Sandra': 2,
              'Massa Nobre': 4,
              'Urbano': 5.3
          }
      }
      
    • Caixa:
      {
          'requeijão': {
              'Minas': 5,
              'Buritis': 7,
              'Queijinho': 7
          },
          'sabão': {
              'Pura Espuma': 10.5,
              'Lavagem Perfeita': 12.8,
              'Cromo': 15.7
          },
          'arroz': {
              'Prato Fundo': 20,
              'Tio José': 23,
              'Cadez': 26
          },
          'macarrão': {
              'Sandra': 2,
              'Massa Nobre': 4.5,
              'Urbano': 5.3
          }
      }
      
    • Compras:
      [
          ['arroz','Prato Fundo',1],
          ['requeijão','Buritis',2],
          ['requeijão','Queijinho',1],
          ['sabão','Pura Espuma',3]
      ]
      
  • Saída: 3.5

O nome da sua função deve ser valor_a_devolver.