1
resposta

[Projeto] Desafio: hora da prática (parte 7)

Boa tarde,

Seguem os códigos solicitados na atividade proposta "Desafio: hora da prática".

Momento dos projetos
12. Uma pesquisa de mercado foi feita para decidir qual design de marca infantil mais agrada as crianças. A pesquisa foi feita e o votos computados podem ser observados abaixo: Design 1 - 1334 votos, Design 2 - 982 votos, Design 3 - 1751 votos, Design 4 - 210 votos, Design 5 - 1811 votos. Adapte os dados fornecidos para uma estrutura de dicionário. A partir dele, informe o design vencedor e a porcentagem de votos recebidos.

votos = {'Design 1': 1334, 'Design 2': 982, 'Design 3': 1751, 'Design 4': 210, 'Design 5': 1811}

total_votos = sum(votos.values())
vencedor = max(votos, key=votos.get)
percentual_vencedor = (votos[vencedor] / total_votos) * 100
print(f"O design vencedor foi o '{vencedor}' com {votos[vencedor]} votos.")
print(f"Porcentagem de votos: {percentual_vencedor:.2f}%")
  1. As pessoas colaboradoras de um setor da empresa que você trabalha vão receber um abono correspondente a 10% do salário devido ao ótimo desempenho do time. O setor financeiro solicitou sua ajuda para a verificação das consequências financeiras que esse abono irá gerar nos recursos. Assim, foi encaminhada para você uma lista com os salários que receberão o abono: [1172, 1644, 2617, 5130, 5532, 6341, 6650, 7238, 7685, 7782, 7903]. O abono de cada colaborador(a) não pode ser inferior a 200. Em código, transforme cada um dos salários em chaves de um dicionário e o abono de cada salário no elemento. Depois, informe o total de gastos com o abono, quantos(as) colaboradores(as) receberam o abono mínimo e qual o maior valor de abono fornecido.
salarios = [1172, 1644, 2617, 5130, 5532, 6341, 6650, 7238, 7685, 7782, 7903]
dicionario_abonos = {}
minimo_contagem = 0

for s in salarios:
    abono = s * 0.10
    if abono < 200:
        abono = 200
        minimo_contagem += 1
    dicionario_abonos[s] = abono

total_gastos = sum(dicionario_abonos.values())
maior_abono = max(dicionario_abonos.values())

print(f"Total de gastos com abono: R$ {total_gastos:.2f}")
print(f"Colaboradores que receberam o mínimo (200,00): {minimo_contagem}")
print(f"Maior valor de abono: R$ {maior_abono:.2f}")
  1. Uma equipe de cientistas de dados está estudando a diversidade biológica em uma floresta. A equipe fez a coleta de informações sobre o número de espécies de plantas e animais em cada área dessa floresta e armazenou essas informações em um dicionário. Nele, a chave descreve a área dos dados e os valores nas listas correspondem às espécies de plantas e animais nas áreas, respectivamente. {'Área Norte': [2819, 7236], 'Área Leste': [1440, 9492], 'Área Sul': [5969, 7496], 'Área Oeste': [14446, 49688], 'Área Centro': [22558, 45148]}. Escreva um código para calcular a média de espécies por área e identificar a área com a maior diversidade biológica. Dica: use as funções built-in sum() e len().
dados = {
    'Área Norte': [2819, 7236], 'Área Leste': [1440, 9492],
    'Área Sul': [5969, 7496], 'Área Oeste': [14446, 49688],
    'Área Centro': [22558, 45148]
}

maior_diversidade = 0
area_vencedora = ""

for area, especies in dados.items():
    soma = sum(especies)
    media = soma / len(especies)
    print(f"{area}: Média de {media} espécies.")
    if soma > maior_diversidade:
        maior_diversidade = soma
        area_vencedora = area

print(f"\nA área com maior diversidade biológica é a {area_vencedora} com {maior_diversidade} espécies.")
  1. O setor de RH da sua empresa te pediu uma ajuda para analisar as idades de colaboradores(as) de 4 setores da empresa. Para isso, foram fornecidos os seguintes dados: {'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]}.
idades = {
    '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]
}

for setor, lista_idades in idades.items():
    media = sum(lista_idades) / len(lista_idades)
    print(f"A média de idade no {setor} é de {media:.1f} anos.")
1 resposta

Olá, João! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de dicionários para organizar os votos e utilizou muito bem as funções built-in sum() e max() para calcular totais e identificar o vencedor. Por fim, ainda compreendeu a importância de aplicar cálculos percentuais para dar clareza ao resultado.

Uma dica interessante para o futuro é ordenar os resultados para mostrar o ranking completo dos designs. Assim:

ranking = sorted(votos.items(), key=lambda x: x[1], reverse=True)
print("\nRanking dos designs:")
for design, qtd in ranking:
    percentual = (qtd / total_votos) * 100
    print(f"{design}: {qtd} votos ({percentual:.2f}%)")

Isso faz com que todos os resultados fiquem visíveis e comparáveis, facilitando a análise.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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