Olá, Vanessa. Como vai?
Parabéns pela resolução de toda a primeira parte do desafio! Seus códigos ficaram excelentes, muito bem estruturados e mostram que você dominou a manipulação de listas, laços e funções embutidas (built-in) em Python. Como Especialista de Processos, automatizar a extração dessas métricas analíticas (como médias e percentuais de corte) é uma habilidade valiosíssima para o seu dia a dia.
Gostaria de destacar alguns pontos excelentes na construção da sua lógica:
- Uso correto do
sum() e len(): No cálculo da média dos gastos corporativos, você aplicou perfeitamente as funções embutidas. A combinação sum(lista) / len(lista) é a forma mais limpa e eficiente de calcular médias em Python sem a necessidade de importar bibliotecas externas. - Uso de f-strings formatadas: No exercício das compras acima de R$ 3000, ficou ótimo o uso de
{porcentagem_acima_3000:.2f}%. Limitar as casas decimais em relatórios com percentuais traz um aspecto visual muito mais profissional para a entrega dos dados. - Tratamento de exceções com
if total_compras > 0: Essa foi uma ótima prática preventiva de programação! Adicionar uma condicional para verificar se a lista possui elementos antes de calcular a porcentagem evita que o programa quebre por um erro de divisão por zero (ZeroDivisionError) caso a lista de valores estivesse vazia.
Como uma sugestão de boa prática para continuar evoluindo no uso de Python voltado para dados, vale a pena conhecer um recurso chamado List Comprehension (Compreensão de Lista). Ele permite filtrar ou transformar listas de um jeito mais compacto e performático, eliminando a necessidade de criar contadores manuais com o laço for.
Veja, por exemplo, como o seu código de contagem de compras acima de R$ 3000 poderia ser reescrito utilizando essa técnica:
lista_valores = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
# Criamos uma nova lista contendo apenas os valores que passam no filtro
compras_filtradas = [valor for valor in lista_valores if valor >= 3000]
# Agora basta usar o len() para saber a quantidade e calcular a porcentagem
compras_acima_3000 = len(compras_filtradas)
total_compras = len(lista_valores)
porcentagem = (compras_acima_3000 / total_compras) * 100
print(f'Compras acima de R$ 3000: {compras_acima_3000}')
print(f'Porcentagem: {porcentagem:.2f}%')
Essa abordagem faz exatamente a mesma coisa que o seu código original, mas de uma maneira muito utilizada por analistas e cientistas de dados por ser mais direta e otimizada por baixo do capô do Python.
Seus resultados ficaram ótimos e a organização entre as etapas de entrada, processamento e inversão da lista foi impecável. Continue praticando!
Espero que possa ter lhe ajudado!