Estou compartilhando as minhas soluções em Python abaixo. Se alguém tiver uma abordagem diferente ou alguma dúvida sobre o código, deixem nos comentários!
- Vendas de E-commerce com Dicionário
A função sum(vendas.values()) é excelente para somar todos os valores numéricos de um dicionário. Para achar o mais vendido, a função max() junto com a chave key=vendas.get resolve o problema em uma linha.
vendas = {'Produto A': 300, 'Produto B': 80, 'Produto C': 60,
'Produto D': 200, 'Produto E': 250, 'Produto F': 30}
total_vendas = sum(vendas.values())
# Encontra a chave (Produto) que possui o maior valor atribuído
produto_mais_vendido = max(vendas, key=vendas.get)
print(f"Total de vendas: {total_vendas} unidades")
print(f"O produto mais vendido foi: {produto_mais_vendido} (com {vendas[produto_mais_vendido]} unidades)")
- Pesquisa de Mercado (Marcas)
Adaptei os dados informados no desafio para um dicionário padrão do Python. A lógica de encontrar o maior valor é a mesma do exercício anterior.
votos = {
'Design 1': 1334,
'Design 2': 982,
'Design 3': 1751,
'Design 4': 210,
'Design 5': 1811
}
total_votos = sum(votos.values())
design_vencedor = max(votos, key=votos.get)
# Cálculo da porcentagem do vencedor
porcentagem = (votos[design_vencedor] / total_votos) * 100
print(f"O vencedor foi o '{design_vencedor}' com {votos[design_vencedor]} votos.")
print(f"Isso representa {porcentagem:.2f}% do total de votos.")
- Cálculo de Abono Salarial
Nesse código, iterei pela lista de salários criando o dicionário em tempo real. Se o cálculo de 10% fosse menor que 200, o valor era ajustado para 200 e o contador de "abonos mínimos" entrava em ação.
salarios = [1172, 1644, 2617, 5130, 5532, 6341, 6650, 7238, 7685, 7782, 7903]
dicionario_abonos = {}
qtd_abono_minimo = 0
for salario in salarios:
abono = salario * 0.10
if abono < 200:
abono = 200
qtd_abono_minimo += 1
# Adiciona a chave (salário) e o valor (abono) no dicionário
dicionario_abonos[salario] = abono
total_gastos = sum(dicionario_abonos.values())
maior_abono = max(dicionario_abonos.values())
print(f"Total de gastos com o abono: R$ {total_gastos:.2f}")
print(f"Quantidade de colaboradores que receberam o abono mínimo: {qtd_abono_minimo}")
print(f"O maior valor de abono fornecido foi: R$ {maior_abono:.2f}")
- Diversidade Biológica por Área
Aqui temos um dicionário contendo listas. O método .items() me permitiu iterar pela chave (nome da área) e pelos valores (a lista de espécies) ao mesmo tempo, facilitando o uso do sum() e len() em cada repetição.
floresta = {
'Área Norte': [2819, 7236],
'Área Leste': [1440, 9492],
'Área Sul': [5969, 7496],
'Área Oeste': [14446, 49688],
'Área Centro': [22558, 45148]
}
maior_diversidade = 0
area_campea = ""
print("--- Média de espécies por Área ---")
for area, especies in floresta.items():
media = sum(especies) / len(especies)
soma_total = sum(especies)
print(f"{area}: {media:.1f}")
# Verifica quem tem a maior soma total de espécies
if soma_total > maior_diversidade:
maior_diversidade = soma_total
area_campea = area
print(f"\nA área com maior diversidade biológica é a {area_campea} (Total: {maior_diversidade} espécies).")
- Análise de Idades do RH
Semelhante ao exercício anterior, mas aqui usei o método .extend() para unir as listas de todos os setores em uma única "lista mestra". Isso tornou muito mais simples o cálculo da média geral da empresa.
setores = {
'Setor A': [22, 26, 30, 30, 35, 38, 40, 56, 57, 65],
'Setor B': [22, 24, 26, 33, 41, 49, 50, 54, 60, 64],
'Setor C': [23, 26, 26, 29, 34, 35, 36, 41, 52, 56],
'Setor D': [19, 20, 25, 27, 34, 39, 42, 44, 50, 65]
}
todas_idades = []
print("--- Média de idade por Setor ---")
for setor, idades in setores.items():
media_setor = sum(idades) / len(idades)
print(f"{setor}: {media_setor:.1f} anos")
# Adiciona as idades desse setor na lista geral
todas_idades.extend(idades)
media_geral = sum(todas_idades) / len(todas_idades)
print(f"\n--- Média Geral da Empresa ---")
print(f"{media_geral:.1f} anos")
pessoas_acima_da_media = 0
for idade in todas_idades:
if idade > media_geral:
pessoas_acima_da_media += 1
print(f"\nQuantidade de pessoas acima da idade média geral: {pessoas_acima_da_media}")
Espero que esse material seja útil e contribua para o avanço de vocês nas formações de dados e back-end. Bons estudos!