1
resposta

[Projeto] CONTROLANDO O ORÇAMENTO MENSAL

Prezados(as)
Boa Tarde,
Segue a proposta de solução para o desafio: Controlando o orçamento mensal, para práticar os conceitos, aproveitei e fiz uma documentação no próprio código, isso facilita a manutenção ou implementações futuras.

# AREA DE VARIÁVEIS

# Define o limite mensal do orçamento
limite_orcamento = 3000.00
# Obtém o total de despesas do usuário
desas_realizadas = float(input("Informe o total de despesas realizadas (R$): "))

# PROCESSAMENTO E SAÍDA

# Imprime um cabeçalho para o relatório de controle orçamentário
print("\n--- CONTROLE DE ORÇAMENTO MENSAL -------------------------------")
# Exibe o limite de orçamento definido
print(f"Limite de Orçamento: R$ {limite_orcamento:.2f}")
# Exibe as despesas informadas pelo usuário
print(f"Despesas Realizadas: R$ {desas_realizadas:.2f}")

# Verifica se as despesas excederam o orçamento
if desas_realizadas > limite_orcamento:
  # Alerta se o orçamento for excedido e mostra o valor excedente
  print("ALERTA! Você ultrapassou o limite do seu orçamento!")
  print(f"Você excedeu em R$ {desas_realizadas - limite_orcamento:.2f}")
elif desas_realizadas <= 0:
  # Avisa se as despesas forem zero ou negativas, pois devem ser positivas
  print("Atenção: O valor das despesas deve ser positivo.")
else:
  # Parabeniza se estiver dentro do orçamento e mostra o valor restante
  print("Parabéns! Você ainda está dentro do seu orçamento.")
  print(f"Restam R$ {limite_orcamento - desas_realizadas:.2f} para gastar.")
# Imprime um rodapé para o relatório
print("-----------------------------------------------------------------")
1 resposta

Olá, Luiz Fernando. Como vai?

Sua solução para o desafio de controle de orçamento ficou excelente! Parabéns por ir além e se preocupar em documentar o código. Esse hábito de incluir comentários explicativos e estruturar bem as áreas do programa (como a separação entre variáveis, processamento e saída) é uma das características que diferenciam uma pessoa desenvolvedora júnior de uma profissional madura. Código legível economiza muito tempo em manutenções futuras!

A lógica está totalmente correta, e o cálculo dinâmico de quanto o usuário economizou ou extrapolou (desas_realizadas - limite_orcamento e vice-versa) traz uma experiência muito rica e informativa para quem está utilizando o sistema. A formatação com :.2f também garantiu a exibição perfeita dos valores monetários em duas casas decimais.

Para complementar o seu aprendizado sobre estruturas condicionais e te dar novas ideias de implementação, preparei duas dicas focadas em fluxos de execução e refatoração.

1. Ajustando a Ordem Lógica das Validações

O seu código funciona muito bem, mas o fluxo atual executa as condições de uma forma que pode ser otimizada para evitar "processamento desnecessário".

Imagine que o usuário digite acidentalmente um valor inválido, como -100.00. O seu programa primeiro vai imprimir o cabeçalho, mostrar o limite, mostrar a despesa negativa e só depois, dentro do elif, avisar que o valor deveria ser positivo.

Uma boa prática de desenvolvimento é criar o que chamamos de cláusulas de guarda (guard clauses). Trata-se de colocar as validações de erro ou dados inválidos logo no início do fluxo. Se o dado estiver errado, o programa barra ali mesmo e nem chega a gerar o restante do relatório. Veja o exemplo:

desas_realizadas = float(input("Informe o total de despesas realizadas (R$): "))

# Validação imediata dos dados de entrada
if desas_realizadas <= 0:
    print("Erro: O valor das despesas deve ser maior que zero.")
else:
    # Se o dado for válido, geramos o relatório completo
    limite_orcamento = 3000.00
    
    print("\n--- CONTROLE DE ORÇAMENTO MENSAL -------------------------------")
    print(f"Limite de Orçamento: R$ {limite_orcamento:.2f}")
    print(f"Despesas Realizadas: R$ {desas_realizadas:.2f}")
    
    if desas_realizadas > limite_orcamento:
        print("ALERTA! Você ultrapassou o limite do seu orçamento!")
        print(f"Você excedeu em R$ {desas_realizadas - limite_orcamento:.2f}")
    else:
        print("Parabéns! Você ainda está dentro do seu orçamento.")
        print(f"Restam R$ {limite_orcamento - desas_realizadas:.2f} para gastar.")
        
    print("-----------------------------------------------------------------")

2. Próximo Passo: E se o limite também fosse dinâmico?

Como você curte criar códigos pensando no futuro e na escalabilidade, uma excelente evolução para esse projeto seria permitir que o usuário definisse o próprio limite salarial ou meta de gastos através do input(), em vez de deixar o valor fixo em 3000.00. Isso tornaria o seu software útil para qualquer realidade financeira!

Parabéns mais uma vez pela organização do código e pela excelente documentação compartilhada com a comunidade do fórum! Continue com essa dedicação.

Espero que possa ter lhe ajudado!