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.