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!

1
resposta

[Projeto] Faça como eu fiz: calculando o total de vendas

print('Digite o valor da vendas: (R$) ', end = "")
vendasUnit = (input()).split() # Com essa entrada, já é gerada uma lista direto na variável, não sendo necessário colocá-la em uma lista vazia.
    
def somatorioVendas(vendasUnit):
    
    soma = 0
    for valor in vendasUnit:
        valor = float(valor)
        soma += valor

    return soma

def somatorioVendas2(vendasUnit):
    vendasConvertidas = []
    
    for valor in vendasUnit:
        vendasConvertidas.append(float(valor))
    soma = sum(vendasConvertidas)

    return soma

somatorioTotal = somatorioVendas(vendasUnit)
somatorioTotal2 = somatorioVendas2(vendasUnit)
print(f'O total de vendas foi de R$ {somatorioTotal:.2f}.')
print(f'O total de vendas foi de R$ {somatorioTotal2:.2f}.')

Fiz duas funções, pois queria testar os dois modos (contador e sum). Só depois que vi a resolução usando o map. Vou estudar usando essa função, pois ainda não tinha usado-a.

1 resposta

Oi, Evandro. Tudo certo?

Seu código está funcionando adequadamente para o propósito de somar os valores de vendas. As duas funções, uma utilizando um contador manual e a outra aproveitando a função sum, são formas válidas e trazem um bom aprendizado comparativo. É interessante perceber como o uso do map pode tornar o código mais compacto e elegante, aplicando diretamente a conversão de tipos sem criar listas auxiliares explícitas. Por exemplo, usando map(float, vendasUnit) você pode simplificar seu somatório para algo como sum(map(float, vendasUnit)), tornando a função mais enxuta.

Além disso, considerar a entrada como uma lista já facilita muito o processo, e ao manter o tratamento para converter strings em floats dentro da função, você garante que o código esteja mais modular e reutilizável para diferentes formatos de entrada. Isso mostra que você está pensando não só na solução imediata, mas também na organização do código.

Já pensou em explorar ainda mais funções internas de Python para trabalhar com listas e sequências, como filter? Como essa abordagem pode impactar a legibilidade e eficiência do seu programa?

Parabéns pelo desenvolvimento e pela iniciativa de testar diferentes métodos. O fórum está à disposição para ajudar em suas dúvidas.

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