Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

[Projeto] Aprovando empréstimo

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

  percentual_parcela = ( renda_mensal * 30 ) / 100

  if renda_mensal > 2000.00 and (valor_parcela <= percentual_parcela) :
    print("Empréstimo Permitido")
  else:
    print("Empréstimo negado: parcela acima de 30% da renda.")  
except ValueError:
    print("Informe somente valores numéricos")
2 respostas
solução!

Olá, Marcelo!

Parabéns por concluir o projeto Aprovando empréstimo.

Sua solução apresenta pontos muito positivos. A escolha do tipo float é a mais adequada para lidar com valores monetários e o cálculo do limite de 30% foi construído corretamente. O uso do operador lógico and permitiu que você validasse duas regras de negócio cruciais na mesma linha de código, tornando a tomada de decisão direta.

Um ponto de atenção técnica na comunicação com o usuário: da forma como a condição foi escrita, se uma pessoa tiver uma renda de 1500 reais (menor que 2000), mas pedir uma parcela bem baixa que respeite os 30%, o programa cairá no else e exibirá a mensagem "Empréstimo negado: parcela acima de 30% da renda.". Como o motivo real da negação nesse caso seria a renda mínima, separar essas validações usando o elif ajudaria a dar um retorno mais preciso para o cliente.

Veja como essa separação deixaria o diagnóstico claro:

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

  percentual_parcela = (renda_mensal * 30) / 100

  if renda_mensal <= 2000.00:
    print("Empréstimo negado: renda mínima deve ser superior a R$ 2000.00.")
  elif valor_parcela > percentual_parcela:
    print("Empréstimo negado: parcela acima de 30% da renda.")
  else:
    print("Empréstimo Permitido")
    
except ValueError:
  print("Informe somente valores numéricos")

Na sua visão, você prefere a abordagem de juntar as condições em uma única linha para economizar código ou a separação com elif para dar mensagens mais específicas?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Obrigado pelo feedback