2
respostas

Calculadora de despesas

Definir uma variável chamada total e iniciar com valor 0
Solicitar ao usuário que informe o valor de uma despesa
Ler o valor informado
Enquanto o valor informado for diferente de 0, fazer:
Somar o valor informado ao total
Solicitar um novo valor de despesa
Ler o novo valor
Quando o usuário digitar 0, encerrar a repetição
Exibir o valor total das despesas

2 respostas

total = 0.0

while True:
try:
valor = float(input("Digite o valor da despesa (ou 0 para finalizar): "))

    if valor == 0:
        break

    total += valor

except ValueError:
    print("Por favor, digite um número válido.")

print(f"Total gasto no mês: R$ {total:.2f}")

Olá, Michele. Como vai?

Mais uma dobradinha sensacional de posts! É fascinante ver a sua evolução. Você desenhou a lógica perfeitamente em português, identificando a necessidade de uma estrutura de repetição, e depois entregou um código Python de nível profissional.

Para quem atua como assistente administrativo, esse script é uma ferramenta real de produtividade que pode ser usada para fechar caixas, consolidar relatórios de viagens ou somar notas fiscais de forma extremamente rápida.

O seu código em Python merece muitos elogios por dois motivos principais que mostram que você foi além do básico:

  • Tratamento de Erros (try/except): Incluir o bloco ValueError foi uma decisão brilhante. No dia a dia de um escritório, é muito comum alguém digitar uma letra por engano ou colocar uma vírgula no lugar do ponto. Com a sua validação, o programa não "quebra"; ele simplesmente avisa o usuário e pede o número correto novamente.
  • Formatação de Moeda ({total:.2f}): Usar a máscara de formatação decimal garante que o resultado final sempre exiba duas casas decimais (como R$ 150.50), respeitando o padrão financeiro e administrativo de exibição de valores.

Apenas um detalhe técnico sobre a organização visual do código: assim como no desafio anterior, certifique-se de que a linha total += valor e o bloco do except estejam perfeitamente alinhados e recuados (indentados) para que o Python reconheça a ordem exata de execução dentro do laço while.

O seu código com a indentação e os espaçamentos ideais fica assim:

total = 0.0

while True:
    try:
        valor = float(input("Digite o valor da despesa (ou 0 para finalizar): "))
        
        if valor == 0:
            break
            
        total += valor
        
    except ValueError:
        print("Por favor, digite um número válido.")

print(f"Total gasto no mês: R$ {total:.2f}")

Dominar o laço while combinado com tratamento de exceções eleva o patamar dos seus scripts, transformando automações simples em sistemas robustos e confiáveis para qualquer rotina de escritório.

Parabéns pela dedicação exemplar e por sempre trazer a lógica e o código para compartilhar no fórum!

Espero que possa ter lhe ajudado!