1
resposta

Calculando o IMC

peso = float(input("Digite seu peso (kg): "))
altura = float(input("Digite sua altura (m): "))

imc = peso / (altura ** 2)
print(f"Seu IMC é: {imc:.2f}")

if imc < 18.5:
    print("Você está abaixo do peso.")
elif imc < 25:
    print("Você está com peso normal.")
else:
    print("Você está acima do peso.")
1 resposta

Olá, Juliana. Como vai?

O seu código está excelente e resolve o cálculo do Índice de Massa Corporal com muita precisão! A fórmula matemática foi traduzida para o Python de forma impecável através do operador de potência (altura 2) e o uso da formatação :.2f no print ficou ótimo para exibir o resultado com apenas duas casas decimais.

Analisando a sua estrutura condicional, você aplicou perfeitamente a boa prática de otimização sequencial que conversamos nos exercícios anteriores! Como o if testa se o imc < 18.5, o elif seguinte só precisa validar se imc < 25, pois o Python já deduziu automaticamente que o valor é maior ou igual a 18.5. Isso deixa o código limpo, rápido e muito elegante.

Para agregar ainda mais valor aos seus estudos e complementar o seu aprendizado, vamos analisar a tabela oficial da Organização Mundial da Saúde (OMS) para o IMC. No cenário real da saúde, a categoria "acima do peso" costuma ser dividida de forma mais detalhada entre Sobrepeso e Obesidade, pois os cuidados médicos mudam para cada um desses estados.

Veja como o seu código pode ser expandido com um elif extra para refletir essa tabela oficial completa do mercado de saúde:

peso = float(input("Digite seu peso (kg): "))
altura = float(input("Digite sua altura (m): "))

imc = peso / (altura ** 2)

print(f"\nSeu IMC é: {imc:.2f}")

# Estrutura condicional expandida conforme a tabela oficial da OMS
if imc < 18.5:
    print("Classificação: Abaixo do peso")
elif imc < 25:
    print("Classificação: Peso normal")
elif imc < 30:
    print("Classificação: Sobrepeso (Acima do peso)")
else:
    print("Classificação: Obesidade")

Curiosidade técnica: Repare como a lógica em cascata do Python continua funcionando perfeitamente aqui. Se o IMC for 27.5, ele pula o < 18.5, pula o < 25, entra no < 30 (exibindo Sobrepeso) e encerra o programa sem precisar testar o bloco do else.

Parabéns por concluir toda essa sequência de exercícios práticos com maestria! O seu portfólio de lógica de programação com Python está ficando super robusto e bem estruturado.

Espero que possa ter lhe ajudado!