Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, Alex. Como vai?
Parabéns por mais uma excelente resolução! É muito bacana acompanhar a sua evolução constante no PyCharm, chegando agora com sucesso ao arquivo Alura ex022.py.
O seu código ficou extremamente limpo, direto e eficiente. O console mostra exatamente o resultado correto: A soma total das receitas é: 150, encerrando o programa de forma perfeita (exit code 0).
Você fez uma excelente escolha ao utilizar a função nativa sum() do Python. No dia a dia de quem trabalha com dados, essa é a melhor prática para somar coleções numéricas.
Para agregar valor ao seu post e ajudar a galera do fórum a entender o que o Python fez por baixo dos panos, vale a pena fazermos um paralelo com a lógica estrutural desse exercício.
sum() faz na memória?Quando você passa a lista valores para a função sum(), o interpretador do Python automatiza um processo de acumulação que, de outra forma, nós teríamos que construir manualmente usando um laço de repetição.
O comportamento interno do sum() funciona exatamente como esta esteira lógica:
0.soma_total.sum()?Como este capítulo do curso é focado em laços for e while, uma excelente forma de treinar a sua lógica algorítmica para entrevistas técnicas ou desafios futuros é tentar replicar o comportamento do sum() usando uma estrutura de repetição manual.
Veja como o mesmo programa poderia ser escrito utilizando o laço for para atuar como o nosso acumulador passo a passo:
valores = [10, 20, 30, 40, 50]
# Criamos uma variável acumuladora manualmente começando em zero
soma_manual = 0
# O laço 'for' visita cada número dentro da lista de valores
for valor in valores:
soma_manual += valor # Soma o número atual ao total acumulado
print(f"A soma total das receitas (via laço for) é: {soma_manual}")
Note como a sua solução usando sum(valores) é muito mais elegante e compacta! Conhecer as duas formas é o segredo de um bom programador: você entende a lógica de base (o laço), mas usa a ferramenta mais otimizada da linguagem no dia a dia (a função).
Continue mantendo essa excelente consistência nos estudos e compartilhando seus códigos com a comunidade!
Espero que possa ter lhe ajudado!