Olá, Giovany. Como vai?
Seu algoritmo para aprovação de empréstimos está excelente! Você aplicou uma lógica muito comum em sistemas bancários e de análise de crédito, utilizando operadores lógicos (and) e operações matemáticas diretamente dentro da condição.
Um ponto muito positivo no seu código é a clareza das mensagens de retorno. Em vez de apenas dizer "Negado", você explicou o motivo (renda insuficiente ou comprometimento excessivo da renda), o que é uma ótima prática de experiência do usuário (UX).
Para agregar valor ao seu aprendizado, gostaria de destacar como as estruturas condicionais funcionam como um "funil" de decisão:
- A primeira barreira (
if): Você estabeleceu um critério duplo. Para passar por aqui, o cliente precisa ter fôlego financeiro (renda > 2000) e a parcela precisa ser saudável em relação ao que ele ganha. - O refinamento (
elif): Ao isolar a renda menor ou igual a 2000, você trata especificamente o público que não atinge o requisito mínimo de entrada. - A sobra lógica (
else): Por exclusão, se a renda é maior que 2000, mas o empréstimo não foi aprovado no primeiro if, o único motivo restante é o valor da parcela.
Uma pequena sugestão para tornar seu código ainda mais robusto: quando lidamos com cálculos de porcentagem, às vezes é interessante criar uma variável para o "limite", facilitando a leitura e futuras alterações na regra de negócio:
renda = float(input("Digite sua renda mensal: "))
parcela = float(input("Digite o valor da parcela: "))
limite_parcela = 0.3 * renda
if renda > 2000 and parcela <= limite_parcela:
print("Empréstimo aprovado!")
# ... restante do código
Dessa forma, se o banco decidir mudar a regra para 35%, você só altera o valor em um único lugar!
Parabéns por mais esse desafio concluído. Você está demonstrando uma ótima evolução na construção de algoritmos práticos.
Espero que possa ter lhe ajudado!