Consegui fazer boa parte dos desafios, mas quando fui comparar os desafios 9 e 10 com a opinião do instrutor, eu vi que ficou bem diferente do que desenvolvi - apesar de ambos darem o mesmo resultado.
#DESAFIO APLICANDO A PROJETOS
#6. Uma loja possui um banco de dados com a informação de venda de cada representante e de cada ano e precisa filtrar somente os dados do ano
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_especificas = [venda[1] for venda in vendas if venda[0] == '2022' and venda[1] > 6000]
print(vendas_especificas)
#7. Uma clínica analisa dados de pacientes e armazena o valor numérico da glicose em um banco de dados e gostaria de rotular os dados da seguinte maneira:
dados_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]
lista_glicemia = [('Hipoglicemia',glicemia) if glicemia <= 70
else ('Normal',glicemia) if 70 < glicemia <= 99
else ('Alterada',glicemia) if 100 <= glicemia <= 125
else ('Diabetes',glicemia)
for glicemia in dados_glicemia]
print(lista_glicemia)
#8. Um e-commerce possui as informações de id de venda, quantidade vendida e preço do produto divididos nas seguintes listas:
ids = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
quantidades = [15, 12, 1, 15, 2, 11, 2, 12, 2, 4]
precos = [93.0, 102.0, 18.0, 41.0, 122.0, 14.0, 71.0, 48.0, 14.0, 144.0]
tabela = [('id', 'quantidade', 'preco', 'total') if i == -1 else (ids[i], quantidades[i], precos[i], quantidades[i] * precos[i]) for i in range(-1, 10)]
print(tabela)
#9. Uma empresa possui filiais espalhadas nos Estados da região Sudeste do Brasil.
#Em uma das tabelas de cadastro das filiais há uma coluna contendo a informação de qual é o Estado a que pertence:
#A empresa sempre está abrindo novas filiais, de modo que a tabela está constantemente recebendo novos registros e o gestor gostaria de possuir
#a informação atualizada da quantidade de filiais em cada Estado.
#A partir da coluna com a informação dos Estados, crie um dicionário usando dict comprehension com a chave sendo o nome de um Estado e o valor
#sendo a contagem de vezes em que o Estado aparece na lista.
#Dica: Você pode fazer um passo intermediário para gerar uma lista de listas em que cada uma das listas possui o nome de apenas um Estado com valores repetidos.
estados_filiais = ['SP', 'ES', 'MG', 'MG', 'SP', 'MG', 'ES', 'ES', 'ES', 'SP', 'SP', 'MG', 'ES', 'SP', 'RJ', 'MG', 'RJ', 'SP', 'MG', 'SP', 'ES', 'SP', 'MG']
estados = set(estados_filiais)
filiais = []
for estado in estados:
i = 0
for filial in estados_filiais:
if estado == filial: i += 1
filiais.append(i)
dicionario_estados_filiais = {estado:filial for estado, filial in zip(estados, filiais)}
print(dicionario_estados_filiais)
#10. Nessa mesma tabela de cadastro de filiais, há uma coluna com as informações da quantidade de pessoas colaboradoras e o(a) gestor(a) gostaria
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)]
estados, colaboradores = zip(*funcionarios)
estados = set(list(estados))
colaboradores = []
for estado in estados:
colaborador = 0
for estado_lista, funcionarios_lista in funcionarios:
if estado == estado_lista: colaborador += funcionarios_lista
colaboradores.append(colaborador)
dicionario_estados_colaboradores = {estado:colaborador for estado, colaborador in zip(estados, colaboradores)}
print(dicionario_estados_colaboradores)