1
resposta

13 Aprovando empréstimo

Segue minha resolução do caso:

#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: parcela acima de 30%.")
# Explica o motivo da negação para ajudar o usuário
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}).")

1 resposta

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!