Olá, Deivide. Como vai?
Sua resolução ficou excelente! O script está muito bem estruturado, limpo e com nomes de variáveis super intuitivos (como LIMITE_ORCAMENTO em letras maiúsculas, o que é uma ótima prática em Python para indicar que o valor funciona como uma constante do sistema).
Gostaria de destacar dois pontos muito positivos na sua lógica:
- Uso correto do
float: Essencial para lidar com dinheiro, permitindo que o usuário digite centavos sem quebrar o programa. - Cálculos dinâmicos dentro das condições: Fazer as operações de
saldo_restante e valor_ultrapassado apenas dentro dos seus respectivos blocos if e else é ótimo para poupar processamento, calculando a variável apenas quando ela realmente for necessária.
Para enriquecer ainda mais os seus estudos sobre estruturas condicionais e controle de fluxo, existe uma prática bem legal no mundo corporativo ao lidar com orçamentos: o uso de faixas de alerta.
Em vez de apenas avisar quando o dinheiro já estourou, o sistema pode emitir um sinal de atenção quando os gastos estiverem bem próximos do limite (por exemplo, quando atingirem 80% ou mais do orçamento disponível). Veja como implementar essa camada extra utilizando o elif:
# Define o limite do orçamento
LIMITE_ORCAMENTO = 3000.00
# Define uma zona de alerta (80% do orçamento)
ALERTA_GHASTOS = LIMITE_ORCAMENTO * 0.8
# Recebe o total de despesas do usuário
total_despesas = float(input("Digite o total de despesas realizadas (R$): "))
# Verifica a situação financeira por faixas
if total_despesas > LIMITE_ORCAMENTO:
valor_ultrapassado = total_despesas - LIMITE_ORCAMENTO
print(f"\nAlerta Máximo: Você ultrapassou o limite do orçamento!")
print(f"Valor excedido: R$ {valor_ultrapassado:.2f}")
elif total_despesas >= ALERTA_GHASTOS:
saldo_restante = LIMITE_ORCAMENTO - total_despesas
print(f"\nAtenção: Você atingiu mais de 80% do seu limite orçamentário!")
print(f"Saldo ainda disponível: R$ {saldo_restante:.2f}")
else:
saldo_restante = LIMITE_ORCAMENTO - total_despesas
print(f"\nParabéns! Você está confortavelmente dentro do orçamento.")
print(f"Saldo ainda disponível: R$ {saldo_restante:.2f}")
Repare que ao inverter a ordem para testar primeiro o pior cenário (> LIMITE_ORCAMENTO), a lógica flui perfeitamente e impede que uma condição atropele a outra.
Parabéns pelo empenho contínuo nos desafios de Python. Seus códigos estão mostrando uma evolução muito consistente!
Espero que possa ter lhe ajudado!