1
resposta

Resolução Calculando IMC

peso = float(input("Insira o seu peso (Kg): "))
altura = float(input("Insira a sua altura (m): "))

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

if IMC >= 25:
print("Você está acima do peso!")

elif IMC <= 18.5:
print("Você está a baixo do peso!")

else:
print("Parabéns! Você esta com o peso normal")

Fiquei na dúvida quanto a controlar a quantidade de números após a virgula e achei estas soluções:

valor = 3.14159265

print(round(valor, 2)) # 3.14

valor = 3.14159265
print(f"{valor:.2f}") # 3.14

valor = 3.14159265
print(format(valor, ".2f")) # 3.14

from decimal import Decimal, ROUND_HALF_UP

valor = Decimal("3.14159265")
resultado = valor.quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
print(resultado) # 3.14

Diferença importante:

round() retorna um número (float ou int) que ainda pode ter imprecisões de ponto flutuante.
f-string e format() retornam uma string formatada — ótimas para exibição.
Decimal é ideal quando a precisão numérica real importa, como em cálculos financeiros ou de engenharia.

1 resposta

Olá, Allyson! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de condicionais para calcular o IMC com Python, utilizou muito bem a formatação para controlar casas decimais e ainda compreendeu a importância de diferenciar os métodos de arredondamento conforme a necessidade.

Outra dica interessante para o futuro é validar a entrada do usuário para evitar erros caso ele digite valores inválidos, como letras ou símbolos. Assim:

try:
    peso = float(input("Insira o seu peso (kg): "))
    altura = float(input("Insira a sua altura (m): "))
    IMC = peso / (altura**2)
    print(f"Seu IMC é: {IMC:.2f}")

    if IMC >= 25:
        print("Você está acima do peso!")
    elif IMC <= 18.5:
        print("Você está abaixo do peso!")
    else:
        print("Parabéns! Você está com o peso normal")
except ValueError:
    print("Erro: Digite apenas números válidos para peso e altura.")

Isso faz com que o programa seja mais robusto, evitando falhas quando o usuário não insere dados numéricos corretamente.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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