1
resposta

Desafio: hora da prática - Aula 03

Olá! Exercitando os conhecimentos da aula 03, segue a forma que resolvi as questões propostas:

Questão 01:

lista_de_listas = [[4,6,5,9], [1,0,7,2], [3,4,1,8]]

lista = [sum(lista) for lista in lista_de_listas]
print(lista)

Questão 02:

lista_de_tuplas = [('Pedro', 1.74, 81), ('Júlia', 1.65, 67), ('Otávio', 1.81, 83)]

lista_3_elemento = [elemento[2] for elemento in lista_de_tuplas]
print(lista_3_elemento)

Questão 03:

lista_original = ['Pedro', 'Júlia', 'Otávio', 'Eduardo']

lista_posicoes = [lista_original.index(elemento) for elemento in lista_original]

lista_tupla = list(zip(lista_posicoes, lista_original))
print(lista_tupla)

Questão 04:

aluguel = [('Apartamento', 1700), ('Apartamento', 1400), ('Casa', 2150), ('Apartamento', 1900), ('Casa', 1100)]

valores_apto = [item[1] for item in aluguel if item[0] == 'Apartamento']
print(valores_apto)

Questão 05:

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]

desp_por_mes = {meses[i]: despesa[i] for i in range(len(meses))}
print(desp_por_mes)

Questão 06:

vendas = [('2023', 4093), ('2021', 4320), ('2021', 5959), ('2022', 8883), ('2023', 9859), ('2022', 5141), ('2022', 7688), ('2022', 9544), 
          ('2023', 4794), ('2021', 7178), ('2022', 3030), ('2021', 7471), ('2022', 4226), ('2022', 8190), ('2021', 9680), ('2022', 5616)]

vendas_filtradas = [venda[1] for venda in vendas if venda[0] == '2022' and venda[1] > 6000]
print(vendas_filtradas)

Questão 07:

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]

rotulo = ['Hipoglicemia' if valor <= 70 else ('Normal' if valor > 70 and valor <= 99 else ('Alterada' if valor > 99 and valor <= 125 else 'Diabetes')) for valor in glicemia]

lista_tuplas = list(zip(rotulo, glicemia))
print(lista_tuplas)

Questão 08:

id = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
quantidade = [15, 12, 1, 15, 2, 11, 2, 12, 2, 4]
preco = [93.0, 102.0, 18.0, 41.0, 122.0, 14.0, 71.0, 48.0, 14.0, 144.0]

total = [quantidade[i] * preco[i] for i in range(len(quantidade))]

tabela = [('ID', 'Quantidade', 'Preço', 'Total')]

for i in range (len(id)):
  tabela.append((id[i], quantidade[i], preco[i], total[i]))

print(tabela)

Questão 09:

estados = ['SP', 'ES', 'MG', 'MG', 'SP', 'MG', 'ES', 'ES', 'ES', 'SP', 'SP', 'MG', 'ES', 'SP', 'RJ', 'MG', 'RJ', 'SP', 'MG', 'SP', 'ES', 'SP', 'MG']

estados_unicos = list(set(estados))

lista_de_listas = []
for i in estados_unicos:
  lista = [uf for uf in estados if uf == i]
  lista_de_listas.append(lista)

filiais_por_estado = {lista[0]: len(lista) for lista in lista_de_listas}
print(filiais_por_estado)

Questão 10:

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)]

print(estados_unicos) #aproveitando lista do exercício anterior

func_por_filial = []
for i in estados_unicos:
  lista = [tupla[1] for tupla in funcionarios if tupla[0] == i]
  func_por_filial.append(lista)
print(func_por_filial)

func_por_estado_por_filial = {estados_unicos[i]: func_por_filial[i] for i in range(len(estados_unicos))}
print(func_por_estado_por_filial)

soma_func_por_estado = {estados_unicos[i]: sum(func_por_filial[i]) for i in range(len(estados_unicos))}
print(soma_func_por_estado)

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi! Como vai?

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

Você estruturou bem as soluções, principalmente nos desafios que envolvem filtragem de dados e mapeamento. Continue assim!

Uma dica interessante para o futuro é utilizar o método enumerate para simplificar quando você precisa do índice junto com o valor em uma lista. Por exemplo:


lista = ['a', 'b', 'c']
for indice, valor in enumerate(lista):
    print(indice, valor)

Esse código mostra o índice e o valor de cada elemento na lista, evitando usar range(len(lista)) .

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!