Olá, Jessica! Como vai?
Parabéns pela resolução do desafio! Você estruturou muito bem as etapas do pensamento computacional, especialmente a decomposição do problema (dividir em etapas) e a lógica de repetição controlada por sentinela (o sistema rodar até que o valor 0 seja digitado).
Sua lógica está correta: você utiliza um acumulador (uma variável que vai guardando a soma de tudo) e um critério de parada. Esse é o coração de muitos sistemas financeiros reais!
Para te ajudar a visualizar como esse raciocínio se transforma em um programa funcional, gostaria de destacar dois pontos importantes:
1. O Ciclo de Repetição (Loop)
No seu algoritmo, você mencionou: "permanecer sem resultado (solicitar novo valor)". Na programação, isso é feito com uma estrutura chamada while (enquanto). Enquanto o valor for diferente de zero, o programa continua "preso" pedindo novos dados.
2. Tradução para Código (Python)
Veja como o seu passo a passo se torna um código limpo e eficiente. Note que iniciamos o total com zero e vamos somando cada despesa nova a ele:
total = 0
despesa = -1 # Iniciamos com um valor diferente de 0 para o loop começar
print("Calculadora de Despesas (digite 0 para encerrar)")
while despesa != 0:
despesa = float(input("Digite o valor da despesa: "))
if despesa > 0:
total += despesa # Aqui acontece a mágica da soma acumulada
elif despesa < 0:
print("Valor inválido! Digite apenas valores positivos.")
print(f"Total de gastos mensais: R$ {total:.2f}")
Dica de Ouro: Tratamento de Negativos
Notei que no seu algoritmo você colocou: "digitar valor < 0". Na prática, despesas são valores positivos que subtraem do nosso saldo, mas para a calculadora somar o "prejuízo", o usuário digita valores positivos. Se ele digitar um valor negativo por engano, é legal colocar um aviso (como fiz no exemplo acima) para não bugar o seu cálculo final.
Você teve facilidade em pensar nessa condição de parada com o "0" ou chegou a cogitar alguma outra forma de encerrar o programa?
Espero que possa ter lhe ajudado!