1
resposta

[Sugestão] Minha solução da questão 11 da aula 5 caso na lista haja mais de um produto mais vendido

Olá

Na minha solução considerei a possibilidade de ter uma lista com mais de um produto mais vendido.

vendas = {'Produto A': 300, 'Produto B': 80, 'Produto C': 60,  'Produto D': 200, 'Produto E': 250, 'Produto F': 30}

total_vendas = sum(vendas.values())

max_value = max(vendas.values())

produtos_mais_vendidos = []

for produto in vendas.keys():
  if vendas[produto] == max_value:
    produtos_mais_vendidos.append(produto)

print()
print(f'O total de vendas foi {total_vendas}')
print()

if len(produtos_mais_vendidos) == 1:
  print(f'O produto mais vendido foi: {produtos_mais_vendidos[0]} ')
else:
  print(f'Os produto mais vendidos foram os seguintes: ')
  for produto in produtos_mais_vendidos:
    print(produto)

com a lista providencida, o output é

O total de vendas foi 920

O produto mais vendido foi: Produto A

já considerando outra lista, por exemplo {'Produto A': 300, 'Produto B': 80, 'Produto C': 60, 'Produto D': 300, 'Produto E': 250, 'Produto F': 30} o output é o seguinte

O total de vendas foi 1020

Os produto mais vendidos foram os seguintes:
Produto A
Produto D

1 resposta

Oi, Agostino! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você considerou o cenário com empate no produto mais vendido, isso mostra uma visão além do enunciado. Continue assim!

Uma dica interessante para o futuro é usar items() para percorrer chave e valor ao mesmo tempo, deixando o código mais direto. Veja este exemplo:


vendas = {'Produto A': 300, 'Produto B': 80, 'Produto C': 60}

max_value = max(vendas.values())

produtos = [produto for produto, valor in vendas.items() if valor == max_value]

print(produtos)

Nesse código, items() retorna produto e valor juntos, e a list comprehension cria a lista apenas com os produtos que possuem o maior valor.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura

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