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!

2
respostas

[Projeto] Desafio: Calculadora de despesas

// Dados necessários 
# local de criação da variável total. A mesma inicia com o valor 0
totalDespesas = 0.0

# solicita ao usuário que informe o valor gasto
despesasFeitas = float(input("Digite o valor de sua despesa(ou digite 0 para sair) "))

# Enquanto o valor digitado for diferente de 0, o loop continua. Usaremos aqui um while 
while despesasFeitas != 0: 

    # aqui temos a parte que iremos somar os valores, mostrando o total que foi acumulado. 
    if despesasFeitas >= 0:
    
        categoria = input("Informe a categoria da despesa: ")
        
        totalDespesas +=  despesasFeitas
        
    else: 
        print("Valor inválido! Digite apenas despesas positivas.")

    # Aqui solicitamos um novo valor ao usuário
    despesasFeitas = float(input("Digite outro valor (ou digite 0 para sair): "))

# Aqui temos a parte onde o usuário digita 0 para sair, e por fim mostramos o total gerado das despesas
print(f"Total de despesas: R$ {totalDespesas:.2f}")
2 respostas

Olá, Jonatas. Tudo certo?

Seu código para a calculadora de despesas está coerente com o objetivo do exercício. A variável totalDespesas sendo inicializada fora do loop, com valor zero, permite acumular corretamente cada entrada que o usuário informar. O uso do while para manter a repetição enquanto o valor digitado não for zero está adequado e garante que o programa continue solicitando novas despesas até o usuário decidir parar.

Uma dica que pode complementar seu código é incluir um controle para evitar que entradas negativas sejam somadas, caso queira considerar apenas valores positivos para despesas. Por exemplo, um condicional simples dentro do loop poderia verificar se o valor digitado é maior ou igual a zero antes de adicionar ao total. Isso ajudaria a tornar a calculadora mais robusta. Além disso, formatar a saída do total com duas casas decimais deixaria a apresentação mais profissional, usando algo como print(f"Total de despesas: R$ {totalDespesas:.2f}").

Você já pensou em como poderia adaptar esse código para registrar diferentes categorias de despesas, além de somar o total? Como essa organização poderia ajudar no controle financeiro?

Parabéns pelo seu empenho e pelo código apresentado. O fórum está à disposição para continuar auxiliando em seus estudos.

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

Olá, Maike.

Obrigado pelas orientações. Fiz as correções que me pontuou.
Segue abaixo o código corrgido.

// Dados necessários

local de criação da variável total. A mesma inicia com o valor 0

totalDespesas = 0.0

solicita ao usuário que informe o valor gasto

despesasFeitas = float(input("Digite o valor de sua despesa(ou digite 0 para sair) "))

Enquanto o valor digitado for diferente de 0, o loop continua. Usaremos aqui um while

while despesasFeitas != 0:

# aqui temos a parte que iremos somar os valores, mostrando o total que foi acumulado. 
if despesasFeitas >= 0:

    categoria = input("Informe a categoria da despesa: ")
    
    totalDespesas +=  despesasFeitas
    
else: 
    print("Valor inválido! Digite apenas despesas positivas.")

# Aqui solicitamos um novo valor ao usuário
despesasFeitas = float(input("Digite outro valor (ou digite 0 para sair): "))

Aqui temos a parte onde o usuário digita 0 para sair, e por fim mostramos o total gerado das despesas

print(f"Total de despesas: R$ {totalDespesas:.2f}")