Python舍入变量打印0

时间:2018-10-10 10:24:56

标签: python python-3.x

我在程序中有下一个片段:

#weight in kg
weight = float(input('Enter your weight: '))
#height in cm
height = float(input('Enter your height: '))

bmi_metric = weight/(height**2)/(100**2)
print("{:.2f}".format(bmi_metric))

问题是,当我尝试使用round()函数进行舍入时,它在控制台中吐出0。如果我不格式化,它会给我正确的数字,并带有许多小数。 这是控制台:

Enter your weight: 44
Enter your height: 182
0.000

1 个答案:

答案 0 :(得分:2)

一切正常(在您的情况下,bmi_metric非常小,因此舍入实际上为0),但是您的BMI计算公式有误:

#weight in kg
weight = float(input('Enter your weight: '))
#height in cm
height = float(input('Enter your height: '))

bmi_metric = weight/((height/100)**2)
print("{:.2f}".format(bmi_metric))