1
resposta

Calculando a soma de números

Você está recebendo uma lista de valores representando os produtos de sua loja virtual e gostaria de calcular a soma total desses produtos para entender o desempenho financeiro semanal.

valores = [10, 20, 30, 40, 50]

Crie um programa para implementar a soma.

valores = [10, 20, 30, 40, 50]

soma_total = sum(valores)

print(f'A soma total dos produtos é:', soma_total)

A soma total dos produtos é: 150

OU

valores = [10, 20, 30, 40, 50]

soma_total = 0

for i in range(len(valores)):
    soma_total += valores[i]

print(f'A soma total dos produtos é:', soma_total)

A soma total dos produtos é: 150
1 resposta

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!