1
resposta

Calculando o IMC

peso = float(input("Digite o peso (em kg): "))
altura = float(input("Digite a altura (em metros, ex: 1.75): "))
imc = peso / (altura ** 2)
print(f"Seu IMC é: {imc:.2f}")
if imc < 18.5:
    print("Classificação: Abaixo do peso.")
elif imc >= 18.5 and imc < 25:
    print("Classificação: Peso normal.")
else:
    print("Classificação: Acima do peso.")

Digite o peso (em kg): 75
Digite a altura (em metros, ex: 1.75): 1.68
Seu IMC é: 26.57
Classificação: Acima do peso.

1 resposta

Oi, Marcelo, como vai?

O código está correto e a lógica das condicionais cobre bem as três faixas de classificação do IMC. O uso de {imc:.2f} para formatar o resultado com duas casas decimais é um toque bem prático, que melhora a leitura do valor exibido.

Uma dica sobre a condição do elif: a verificação imc >= 18.5 é tecnicamente redundante naquele ponto, porque se o código chegou até ali, o Python já sabe que o IMC não é menor que 18.5. Então elif imc < 25 sozinho seria suficiente e deixaria o código um pouco mais enxuto. Não é um erro, mas é uma simplificação que vale considerar.

Pensando nisso, você consegue imaginar como ficaria o código se precisasse incluir mais faixas de classificação, como obesidade grau I, II e III? De que forma a estrutura atual facilitaria ou dificultaria essa expansão?

Parabéns pelo exercício e obrigado por compartilhar. O fórum está à disposição sempre que precisar.

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