Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Está conforme a atividade?

altura = float(input("Qual a sua altura? "))
peso = float(input("Qual o seu peso? "))

IMC = peso/(altura**2)
print(IMC)

if IMC < 18.5:
    print("Abaixo do IMC")
elif IMC >= 18.5 and IMC < 25:
    print("Peso normal")
else:
    print("Sobrepeso")
1 resposta
solução!

Oii, Samuel.

A sua resolução tá correta e atende perfeitamente ao que o exercício pediu. A lógica que você montou no elif usando o and garante com precisão que o número esteja dentro do intervalo de peso normal.

Tenho duas dicas rápidas para você polir ainda mais seu código. A primeira é sobre a simplificação: como o Python lê o código sequencialmente, se ele passar pelo primeiro if e for falso, o programa já sabe automaticamente que o IMC é maior ou igual a 18.5. Por isso, no elif, você poderia escrever apenas elif IMC < 25:, economizando código.

A segunda dica é sobre a visualização do resultado. O comando print(IMC) pode gerar um número com muitas casas decimais (algo como 24.55555...). Para deixar a saída melhor, você pode usar a formatação de f-strings assim: print(f"{IMC:.2f}"). Isso limitará o número a dois dígitos após a vírgula.

Está mandando muito bem nos estudos, continue assim!

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