Olá. Na questão 11, tive enorme dificuldade de entender como fazer o código. Principalmente na parte destacada a seguir:
# Percorremos os valores de chaves e elementos do dicionário
for produto in dados_vendas.keys():
# Somamos o total de vendas
total_vendas += dados_vendas[produto]
# Verificamos se valor de venda atual desing (dados_vendas[produto]) é maior que o valor armazenado em unidades_produto_mais_vendido
# Cada vez que dados_vendas[produto] superar o valor em unidades_produto_mais_vendido,
# a variável unidades_produto_mais_vendido vai ser igual à dados_vendas[produto], atribuindo um novo valor
# De forma similar, produto_mais_vendido também é substituído pelo produto atual
if dados_vendas[produto] > unidades_produto_mais_vendido:
unidades_produto_mais_vendido = dados_vendas[produto]
produto_mais_vendido = produto
Algumas duvidas surgiram, como:
- Quando se coloca dados_vendas[produto], vira uma lista por conta dos colchetes?
- Como que ali no final, a lógica do Python leva a ler produto a produto e entender qual que é o maior? Poderia dissecar a lógica por trás desse código?
Finalmente, quando procurei por ajuda, vi que um aluno usou a sintaxe max e me pareceu muito mais fácil. Ficando minha resposta ao exercício assim:
vendas_produto = {'Produto A': 300, 'Produto B': 80, 'Produto C': 60,
'Produto D': 200, 'Produto E': 250, 'Produto F': 30}
total_vendas = sum(vendas_produto.values())
maior_valor = max(vendas_produto, key=vendas_produto.get)
print(f'Total de vendas: {total_vendas}')
print(f'Maior produto vendido: {maior_valor}')
Minha preocupação é quão a prova de revisão meu código se encontra para adereçar a demanda do exercício, a fim de encontrar melhorias.