Olá, Brandon. Como vai?
Sua resolução está muito objetiva e utiliza bem os operadores lógicos para validar duas condições simultaneamente. O uso do operador and permite que você verifique tanto a renda mínima quanto o limite da parcela em uma única linha, o que torna o código bem conciso.
No entanto, há um detalhe importante na experiência do usuário (UX) que podemos melhorar. Da forma como o código está escrito, se um usuário tiver uma renda de R$ 1.500,00 (que é abaixo do limite), o programa exibirá a mensagem "Empréstimo negado: parcela acima de 30% da renda", mesmo que o motivo real da negativa seja a renda insuficiente.
Para agregar valor ao seu projeto e torná-lo mais preciso, uma boa prática é utilizar a estrutura if, elif e else para separar os motivos da negativa. Veja este exemplo:
renda = float(input('Digite o valor da sua renda mensal: '))
parcela = float(input('Digite o valor da parcela desejada: '))
limite_parcela = renda * 0.3
if renda < 2000:
print('Empréstimo negado: renda mínima deve ser de R$ 2.000,00.')
elif parcela > limite_parcela:
print(f'Empréstimo negado: parcela de R$ {parcela:.2f} excede o limite de 30% (R$ {limite_parcela:.2f}).')
else:
print('Empréstimo aceito!')
O que mudou aqui:
- Identação: Lembre-se que no Python a identação é obrigatória para que o código funcione. O
print deve estar sempre um nível à frente do if. - Clareza no feedback: O usuário agora sabe exatamente por que o empréstimo não foi aprovado.
- F-strings: Usei o
f'...' para exibir o valor calculado do limite, o que ajuda o usuário a entender o cálculo feito pelo sistema.
Essa abordagem com elif é muito comum em sistemas bancários reais, pois fornece diagnósticos precisos para o cliente.
Espero que possa ter lhe ajudado!