Olá, Andressa. Como vai?
Parabéns pela resolução do desafio! Você apresentou duas formas excelentes e totalmente válidas para resolver o problema, mostrando que já compreende tanto os recursos nativos do Python quanto a lógica estruturada dos laços de repetição.
As duas abordagens que você trouxe são ótimas, mas têm propósitos e vantagens diferentes no dia a dia do desenvolvimento:
- Primeira opção (Uso do
sum()): Esta é a abordagem mais pythônica (alinhada às boas práticas da linguagem). A função sum() é otimizada internamente em C, o que a torna muito mais rápida e eficiente para ler. No mercado, priorizamos essa forma pela clareza e simplicidade do código. - Segunda opção (Laço
for com range(len())): Esta opção é fantástica para exercitar a lógica de programação de baixo nível. Ela ajuda a entender como o computador funciona por trás dos panos: criando um acumulador (soma_total = 0) e visitando cada gaveta da nossa lista (através do índice i) para somar o valor atual.
Como o foco deste capítulo é praticar os laços for e while, quero te apresentar uma terceira forma que une o melhor dos dois mundos. Em Python, nós raramente precisamos usar range(len(valores)) para percorrer uma lista, a menos que a gente realmente precise do número do índice.
Podemos fazer o for ler os elementos diretamente, o que deixa o seu código muito mais limpo e elegante. Veja só:
valores = [10, 20, 30, 40, 50]
soma_total = 0
# O Python lê cada número diretamente da lista, sem precisar de índices
for valor in valores:
soma_total += valor
print(f'A soma total dos produtos é: {soma_total}')
Uma pequena observação de sintaxe sobre o seu print: quando você utiliza a f-string (adicionando o f antes das aspas), a boa prática é colocar a variável diretamente dentro de chaves {soma_total} dentro do texto, em vez de usar a vírgula do lado de fora. Isso ajuda a manter a string perfeitamente formatada.
Continue testando diferentes estruturas, pois dominar a manipulação de listas e laços é a base para qualquer projeto em Python!
Espero que possa ter lhe ajudado!