1
resposta

[Projeto] desafio

# Desafio 2: Terceiro elemento de cada tupla (Peso)
lista_de_tuplas = [('Pedro', 1.74, 81), ('Júlia', 1.65, 67), ('Otávio', 1.81, 83)]
pesos = [tupla[2] for tupla in lista_de_tuplas]
print(f"Pesos extraídos: {pesos}")

# Desafio 4: Filtro de Aluguel (Somente Apartamentos)
aluguel = [('Apartamento', 1700), ('Apartamento', 1400), ('Casa', 2150), ('Apartamento', 1900), ('Casa', 1100)]
valores_ap = [valor for tipo, valor in aluguel if tipo == 'Apartamento']
print(f"Valores de Apartamentos: {valores_ap}")

# Desafio 5: Dicionário de Despesas (Mês: Valor)
meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez']
despesa = [860, 490, 1010, 780, 900, 630, 590, 770, 620, 560, 840, 360]
dicionario_gastos = {meses[i]: despesa[i] for i in range(len(meses))}


glicemia = [129, 82, 60, 97, 101, 65, 62, 167, 87, 53, 58, 92, 66, 120, 109, 62, 86, 96, 103, 88, 155, 52, 89, 73]

labels = [
    ('Hipoglicemia', v) if v <= 70 else 
    ('Normal', v) if v <= 99 else 
    ('Alterada', v) if v <= 125 else 
    ('Diabetes', v) 
    for v in glicemia
]
print(labels[:5]) # Exibe os primeiros 5 diagnósticos

funcionarios = [('SP', 16), ('ES', 8), ('MG', 9), ('MG', 6), ('SP', 10), ('MG', 4), ('ES',9), ('ES', 7), ('ES', 12), ('SP', 7), ('SP', 11), ('MG',8), ('ES',8), ('SP',9), ('RJ', 13), ('MG', 5), ('RJ', 9), ('SP', 12), ('MG', 10), ('SP', 7), ('ES', 14), ('SP', 10), ('MG', 12)]

# 1. Pegar estados únicos
estados_unicos = list(set([f[0] for f in funcionarios]))

# 2. Criar listas de funcionários por estado
agrupado = {
    estado: [f[1] for f in funcionarios if f[0] == estado] 
    for estado in estados_unicos
}

# 3. Calcular a soma total por estado
soma_colaboradores = {estado: sum(valores) for estado, valores in agrupado.items()}
print(f"Soma por Estado: {soma_colaboradores}")
1 resposta

Olá, Moacir! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de compreensão de listas para extrair elementos específicos, utilizou muito bem dicionários para organizar dados mensais de despesas e ainda compreendeu a importância de aplicar condições em listas para classificar valores de glicemia e agrupar colaboradores por estado.

Uma dica interessante para o futuro é aproveitar o módulo collections para simplificar agrupamentos e somas. Assim:

from collections import defaultdict

funcionarios = [('SP', 16), ('ES', 8), ('MG', 9), ('MG', 6), ('SP', 10), ('MG', 4)]
agrupado = defaultdict(list)

for estado, qtd in funcionarios:
    agrupado[estado].append(qtd)

soma_colaboradores = {estado: sum(valores) for estado, valores in agrupado.items()}
print(f"Soma por Estado: {soma_colaboradores}")

Isso faz com que o agrupamento fique mais direto e o código mais legível.

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!