Olá, Cybelle. Como vai?
O seu algoritmo está logicamente perfeito! Você descreveu com clareza os fundamentos do pensamento computacional: a inicialização de uma variável, a iteração (repetição) e a condição de parada.
Esse tipo de estrutura é um exemplo clássico de um loop controlado por sentinela, onde o valor 0 serve como o sinal para o programa encerrar o processamento. Para visualizar melhor como essa lógica de repetição funciona, podemos observar o fluxo de controle:
Para transformar esse pensamento lógico em código Python, utilizamos a estrutura while. Veja como o seu algoritmo ficaria na prática:
total = 0
# Solicitamos a primeira despesa antes de entrar no loop
despesa = float(input("Informe o valor da despesa (ou 0 para sair): "))
# Enquanto a despesa for diferente de 0, o loop continua
while despesa != 0:
total = total + despesa
despesa = float(input("Informe a nova despesa (ou 0 para encerrar): "))
print(f"O valor total gasto foi: {total}")
Algumas boas práticas aplicadas aqui:
- Acumulador: A variável
total funciona como um acumulador, guardando a soma de todos os valores anteriores. - Tipagem: Usamos
float para que o sistema aceite valores decimais (centavos), já que estamos lidando com dinheiro. - Condição: A instrução
while despesa != 0 garante que o sistema só pare exatamente quando o usuário desejar.
Uma variação comum e moderna em Python é usar o while True com o comando break, o que evita repetir a linha do input dentro e fora do loop. É ótimo ver você estruturando o passo a passo antes de partir para o código!
Espero que possa ter lhe ajudado!