Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] 05_Estrutura de dados - Desafio Hora da Prática - Atividade 14/15

## 14) 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 Coletados de Animais e Plantas por Área
area = {
    'Área Norte': [2819, 7236],
    'Área Leste': [1440, 9492],
    'Área Sul': [5969, 7496],
    'Área Oeste': [14446, 49688],
    'Área Centro': [22558, 45148]
    }

# Total de Animais e Plantas
total_animais = 0
total_plantas = 0
for area_nome, dados in area.items():
    total_animais += dados[0]
    total_plantas += dados[1]

# Média de Animais e Plantas por Área
media_animais = total_animais / len(area)
media_plantas = total_plantas / len(area)

# Área com maior diversidade biológica
maior_diversidade = max(area, key=lambda x: area[x][0] + area[x][1])

print(f'Total de Animais: {total_animais}')
print(f'Total de Plantas: {total_plantas}')
print(f'Média de Animais por Área: {media_animais:.2f}')
print(f'Média de Plantas por Área: {media_plantas:.2f}')
print(f'Área com maior diversidade biológica: {maior_diversidade}')
## 15) 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]}
#Sabendo que cada setor tem 10 colaboradores(as), construa um código que calcule a média de idade de cada setor, a idade média geral entre todos os setores e quantas pessoas estão acima da idade média geral.
# Dados coletados de idades por setor
idades_por_setor = {
    '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]
}

# Soma das idades por setor
soma_idades = {setor: sum(idades) for setor, idades in idades_por_setor.items()}

# Média das idades por setor
media_idades = {
    setor: soma / len(idades_por_setor[setor]) 
    for setor, soma in soma_idades.items()
}

# Média geral
total_idades = sum(sum(idades) for idades in idades_por_setor.values())
total_pessoas = sum(len(idades) for idades in idades_por_setor.values())
media_geral = total_idades / total_pessoas

# Pessoas acima da média geral por setor
pessoas_acima_media = {
    setor: [idade for idade in idades if idade > media_geral]
    for setor, idades in idades_por_setor.items()
}

# Impressão dos resultados
print('\nEstatísticas por Setor:')
for setor in idades_por_setor:
    print(f'- {setor}:')
    print(f'  Soma das idades: {soma_idades[setor]}')
    print(f'  Média das idades: {media_idades[setor]:.2f}')
    print(f'  Acima da média geral ({media_geral:.2f}): {pessoas_acima_media[setor]}')

print(f'\nMédia geral das idades: {media_geral:.2f}')
1 resposta
solução!

Oi, Marinaldo! Como vai?

Agradeço por compartilhar mais essa parte do seu projeto com a comunidade Alura.

Você está aplicando muito bem os conceitos de dicionários aninhados, compreensão de listas e cálculo de médias, deixando os dados bem organizados para análise.

No exercício 14, se quiser deixar a análise ainda mais visual, uma ideia interessante seria exibir a diversidade total de cada área já ordenada:



area = {
    'Área Norte': [2819, 7236],
    'Área Leste': [1440, 9492],
    'Área Sul': [5969, 7496],
    'Área Oeste': [14446, 49688],
    'Área Centro': [22558, 45148]
}

diversidade_total = {
    nome: sum(valores) for nome, valores in area.items()
}

ordenado = sorted(diversidade_total.items(), key=lambda x: x[1], reverse=True)

print('Diversidade biológica por área:')
for nome, total in ordenado:
    print(f'{nome}: {total} espécies')

E no exercício 15, o uso de compreensão de dicionário foi um ótimo diferencial! Deixou tudo mais claro e enxuto.

Seu projeto está com uma ótima evolução, parabéns pela consistência em cada etapa.

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