Discuss / Python / 求教,为了同时限制为小数点后两位bmi值,在print里面使用了格式化方式%.2f,但是一直报错。。。

求教,为了同时限制为小数点后两位bmi值,在print里面使用了格式化方式%.2f,但是一直报错。。。

Topic source

co-link

#1 Created at ... [Delete] [Delete and Lock User]

height=float(height) weight=float(weight) bmi=weight/(height*height) if bmi<18.5: print('your bmi:',%.2f,'过轻',%bmi) elif bmi>=18.5 and bmi<25: print('your bmi:',%.2f,'正常',%bmi) elif bmi>=25 and bmi<32: print('your bmi:',%.2f,'肥胖',%bmi) else: print('your bmi:',%.2f,'严重肥胖',%bmi)

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

注意%.2f是写在字符串里面的占位符'abc %.2f xyz'

co-link

#3 Created at ... [Delete] [Delete and Lock User]

谢谢老师指点,改正后的代码为 height=float(height) weight=float(weight) bmi=weight/(height*height) if bmi<18.5: print('your bmi: %.2f ,过轻'%bmi) elif bmi>=18.5 and bmi<25: print('your bmi: %.2f ,正常'%bmi) elif bmi>=25 and bmi<32: print('your bmi: %.2f ,肥胖'%bmi) else: print('your bmi: %.2f ,严重肥胖'%bmi)


  • 1

Reply