2
respostas

Calculando o IMC

Bom como estou aprendendo na marra, ainda estou apanhando, não vou refazer esse que vou postar agora, mas vou ver pq meu raciocínio foi tão negligente com o else!

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

imc = peso / (altura**2)

if imc <= 18.5:
    print(f"Com o peso de: {peso} e a altura de: {altura}, nos mostra que seu IMC é de: {imc:.2f} o que faz de você um magrelo raquítico! ")
elif 18.5 <= imc < 25:
    print(f"Com o peso de: {peso} e a altura de: {altura}, nos mostra que seu IMC é de: {imc:.2f} tornando seu peso ideal para sua altura! ")
elif imc >= 25:
    print(f"Com o peso de: {peso} e a altura de: {altura}, nos mostra que seu IMC é de: {imc:.2f} tornando você GORDO(A), eu disse muito gordo mesmo! ")
    

ENQUANTO ESSA ABAIXO FOI A DO INSTRUTOR... faltou inteligência pra mim viu, certeza que foi!

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.")
2 respostas

Com o Else não né, com tudo, e a redundância do comando para as casas decimais do IMC? FALO NADA!

Olá, Giovany! Como vai?

É assim mesmo! Gradativamente você vai melhorando a sua lógica para resolver as atividades, esse é o caminho.

Observei que você explorou o if/elif/else para estruturar condições com Python, utilizou muito bem a comparação de valores para classificar o IMC e ainda compreendeu a importância da organização lógica para evitar resultados incorretos.

Uma dica interessante para o futuro é trabalhar com intervalos mais detalhados e mensagens padronizadas, deixando o programa mais próximo das classificações oficiais de IMC. Assim:

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

imc = peso / (altura ** 2)

if imc < 18.5:
    status = "Abaixo do peso"
elif 18.5 <= imc < 25:
    status = "Peso normal"
elif 25 <= imc < 30:
    status = "Sobrepeso"
else:
    status = "Obesidade"

print(f"Seu IMC é {imc:.2f}, classificação: {status}.")

Isso faz a verificação com faixas mais específicas e já retorna uma mensagem clara e objetiva, sem precisar repetir o mesmo texto em cada condição.

Abraço e bons estudos!

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