Solucionado (ver solução)

Importante

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!

Solucionado
(ver solução)
1
resposta

Calculando a soma de números | Praticando Python: laços for e while

Diferentes formas de calcular a soma de receitas

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

print("=" * 50)
print("CALCULANDO SOMA DE RECEITAS")
print("=" * 50)

1: Usando a função sum() - A forma mais simples

print("\n✓ Método 1 - Usando sum():")
soma_metodo1 = sum(valores)
print(f"A soma total das receitas é: {soma_metodo1}")

2: Usando um loop for

print("\n✓ Método 2 - Usando loop for:")
soma_metodo2 = 0
for valor in valores:
    soma_metodo2 += valor
print(f"A soma total das receitas é: {soma_metodo2}")

3: Usando reduce (functional programming)

print("\n✓ Método 3 - Usando reduce():")
from functools import reduce
soma_metodo3 = reduce(lambda x, y: x + y, valores)
print(f"A soma total das receitas é: {soma_metodo3}")

4: Usando while com índice

print("\n✓ Método 4 - Usando while:")
soma_metodo4 = 0
i = 0
while i < len(valores):
    soma_metodo4 += valores[i]
    i += 1
print(f"A soma total das receitas é: {soma_metodo4}")

Final

print("\n" + "=" * 50)
print("RESUMO DO DESEMPENHO SEMANAL")
print("=" * 50)
print(f"Produtos: {len(valores)}")
print(f"Receita mínima: R$ {min(valores):.2f}")
print(f"Receita máxima: R$ {max(valores):.2f}")
print(f"Receita total: R$ {sum(valores):.2f}")
print(f"Receita média: R$ {sum(valores) / len(valores):.2f}")
print("=" * 50)
1 resposta
solução!

Oi, Estudante! Tudo bem?

Agradeço por compartilhar o seu desafio Calculando a soma de números.

Fiquei bem impressionada com a sua dedicação em testar quatro abordagens diferentes para somar os itens da lista, passando por laços estruturados até o paradigma funcional com a função reduce. Deu para notar como cada estrutura se comporta na prática e o resumo estatístico no final fechou o código perfeitamente.

Uma dica interessante para o futuro é utilizar a biblioteca built-in math para obter a soma exata de valores de ponto flutuante caso trabalhe com centavos no futuro.


import math
valores = [10.5, 20.3, 30.2]
soma = math.fsum(valores)
print(soma)

O método math.fsum evita perda de precisão acumulada em somas sucessivas de números decimais.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!