Olá, Deivide. Como vai?
Parabéns pela excelente resolução do caso! O seu código demonstra uma maturidade incrível no desenvolvimento de software, especialmente no que diz respeito à experiência do usuário (UX).
Ir além do simples "Aprovado/Negado" e criar um bloco de justificativas explicando detalhadamente ao cliente o motivo da negação do crédito é um diferencial fantástico, muito utilizado em sistemas bancários reais para evitar frustrações e dar transparência ao processo.
Gostaria de destacar um ponto técnico muito positivo e trazer uma dica de estruturação lógica para deixar o seu script ainda mais profissional:
Ponto Forte: O uso do operador and
Você aplicou com perfeição o operador lógico and na linha if renda_mensal > 2000.00 and parcela_desejada <= limite_parcela:. No contexto de análise de risco de crédito, os critérios precisam ser cumulativos (restritivos). Como o and exige que ambas as condições sejam verdadeiras para conceder a aprovação, a sua modelagem financeira ficou impecável.
Uma Dica de Otimização: Evitando Processamento Desnecessário
No desenho atual do seu código, as checagens dos motivos da negação estão soltas no escopo principal. Isso significa que, mesmo se o cliente for APROVADO, o computador vai gastar processamento testando as linhas if renda_mensal <= 2000.00: e if parcela_desejada > limite_parcela:. Como ele já foi aprovado, sabemos que esses testes serão falsos, tornando essa execução desnecessária.
A melhor prática de mercado é aninhar as justificativas dentro do bloco else. Assim, elas só serão processadas se o empréstimo for realmente negado. Além disso, lembre-se de manter o recuo de 4 espaços (indentação) nos comandos print para que o Python reconheça os blocos corretamente.
Veja como o seu código fica otimizado, elegante e com a formatação padrão ajustada:
# Recebe os dados de renda e parcela
renda_mensal = float(input("Digite o valor da renda mensal (R$): "))
parcela_desejada = float(input("Digite o valor da parcela desejada (R$): "))
# Calcula o limite máximo permitido para a parcela (30% da renda)
limite_parcela = renda_mensal * 0.30
# Verifica as duas condições para aprovação
if renda_mensal > 2000.00 and parcela_desejada <= limite_parcela:
print("\nEmpréstimo APROVADO! Parabéns.")
else:
print("\nEmpréstimo negado.")
print("Motivo(s) da negação:")
# As explicações agora só rodam se o empréstimo cair no "else"
if renda_mensal <= 2000.00:
print("- A renda mensal precisa ser maior que R$ 2.000,00.")
if parcela_desejada > limite_parcela:
print(f"- O valor da parcela (R$ {parcela_desejada:.2f}) ultrapassa 30% da sua renda (Limite: R$ {limite_parcela:.2f}).")
Como Analista de Inteligência de Vendas, você estruturou uma lógica de negócios muito coerente com os cenários de concessão de crédito do mercado financeiro. Parabéns pelo empenho e pelo capricho no código!
Espero que possa ter lhe ajudado!