1
resposta

[Dúvida] Esta conforme ?

vendas = {
    "Eletrônicos": [
        {"produto": "Smartphone", "quantidade": 5, "valor_unitario": 2000},
        {"produto": "Tablet", "quantidade": 3, "valor_unitario": 1500}
    ],
    "Eletrodomésticos": [
        {"produto": "Geladeira", "quantidade": 2, "valor_unitario": 3000},
        {"produto": "Micro-ondas", "quantidade": 4, "valor_unitario": 800}
    ],
    "Livros": [
        {"produto": "Livro A", "quantidade": 10, "valor_unitario": 50},
        {"produto": "Livro B", "quantidade": 5, "valor_unitario": 100}
    ]
}

print("Total de vendas por categoria:")

for categoria, itens in vendas.items():
    total = sum(
        item["quantidade"] * item["valor_unitario"]
        for item in itens
    )
    print("- {}: R$ {:.2f}".format(categoria, total))
1 resposta

Oii, Samuel! Tudo bem?

Sua solução tá excelente e, sim, está totalmente conforme o solicitado na atividade!

Na verdade, você aplicou uma abordagem muito elegante e "Pythonica" (uma forma de escrever código que aproveita bem os recursos da linguagem) ao utilizar a função sum() com uma generator expression para calcular o total.

  1. Uso de sum():
    Enquanto o instrutor utilizou um loop explícito (for item in itens) acumulando o valor na variável total, você fez em uma única linha legível:
total = sum(item["quantidade"] * item["valor_unitario"] for item in itens)

Bem legal!

Comparativo rápido:

  • Lógica do instrutor: Cria variável zerada -> Loop nos itens -> Soma item a item -> Imprime.
  • Sua Lógica: Loop nas categorias -> Soma todos os itens de uma vez com sum -> Imprime.

Ambas chegam ao mesmo resultado, mas a sua demonstra um domínio legal de funções embutidas do Python. Parabéns!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!