1
resposta

Aprovando empréstimo - Condicionais if, elif e else

Recebendo a renda mensal e o valor da parcela

renda = float(input("Digite o valor da sua renda mensal: "))
parcela = float(input("Digite o valor da parcela desejada: "))

Verificando as condições do empréstimo

if renda > 2000:
if parcela <= renda * 0.30:
print("Empréstimo aprovado.")
else:
print("Empréstimo negado: parcela acima de 30% da renda.")
else:
print("Empréstimo negado: renda insuficiente.")

1 resposta

Olá, Armando. Como vai?

O seu raciocínio lógico está absolutamente correto! Você conseguiu estruturar perfeitamente as regras de negócio para a aprovação do empréstimo utilizando condições aninhadas, onde o programa primeiro checa a renda mínima e, caso seja válida, passa para a verificação do comprometimento da renda com a parcela.

Contudo, se você tentar rodar o seu código exatamente da forma como ele foi postado, o Python irá retornar um erro de sintaxe chamado IndentationError.

Em Python, a indentação (o recuo do texto usando espaços ou a tecla Tab) não serve apenas para deixar o código bonito, ela é obrigatória para dizer ao programa quais linhas estão dentro de qual bloco if ou else.

Corrigindo a Indentação do Código

Para que o seu código funcione perfeitamente na plataforma, os blocos internos precisam receber esse recuo. Veja a estrutura corrigida:

# Recebendo a renda mensal e o valor da parcela
renda = float(input("Digite o valor da sua renda mensal: "))
parcela = float(input("Digite o valor da parcela desejada: "))

# Verificando as condições do empréstimo
if renda > 2000:
    if parcela <= renda * 0.30:
        print("Empréstimo aprovado.")
    else:
        print("Empréstimo negado: parcela acima de 30% da renda.")
else:
    print("Empréstimo negado: renda insuficiente.")

Dica de Ouro: Simplificando com Operadores Lógicos

A forma como você construiu (um if dentro de outro if) funciona muito bem. Mas no dia a dia do desenvolvimento, quando temos muitas regras cruzadas, colocar muitos ifs aninhados pode deixar o código difícil de ler.

Podemos simplificar essa mesma lógica e reduzir o nível de aninhamento utilizando o operador lógico and (e) combinado com a estrutura elif. Fica muito mais elegante e direto:

renda = float(input("Digite o valor da sua renda mensal: "))
parcela = float(input("Digite o valor da parcela desejada: "))

if renda <= 2000:
    print("Empréstimo negado: renda insuficiente.")
elif parcela > renda * 0.30:
    print("Empréstimo negado: parcela acima de 30% da renda.")
else:
    print("Empréstimo aprovado.")

Desta forma, o Python avalia as condições de negação em sequência e, caso o cliente passe por todos os filtros negativos, ele cai direto no bloco do else com o empréstimo aprovado.

Parabéns pela dedicação nos exercícios práticos e por estruturar tão bem os problemas de negócios com o código!

Espero que possa ter lhe ajudado!