计算BMI,判断BMI状态,要求将数据记录到文件中Python

计算BMI,要求用Python,并且是要在文件中显示出结果,该怎么写


height = input('输入身高(m):')
weight = input('输入体重(kg):')
BMI = float(float(weight)/(float(height)**2))

result = ''

if BMI < 18.5:
    result = '过轻'
elif BMI  < 24:
    result = '正常'
elif BMI < 28:
    result = '肥胖前期'
elif BMI < 30:
    result = 'I度肥胖'
elif BMI < 40:
    result = 'II度肥胖'
else:
    result = 'III度肥胖'

with open('BMI测试结果.txt', 'w', encoding='utf8') as f:
    f.write(f'您的体重是:{weight}kg\n')
    f.write(f'您的身高是:{height}m\n')
    f.write(f'您的BMI指数:{BMI}  属于 {result}\n')
    
print("计算结果已导出到【BMI测试结果.txt】文件")

参考该表【中国参考标准】

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7701116
  • 除此之外, 这篇博客: python简单练习题中的 计算bmi 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 根据身高体重计算bmi
    • bmi指数单位:kg/平方米
    • bmi指数(0,18.5):过轻;[18.5-25):正常;[25,28):过重;[28,32):肥胖;[32,∞):过度肥胖
    class Bmi(object):
    
    	def __init__(self):
    		self.name = input('请输入姓名:')
    		self.high = float(input('请输入身高(m):'))
    		self.weight = float(input('请输入体重(kg):'))
    		print('欢迎%s使用魅力检测器!' % self.name)
    
    	def bmi_count(self):
    
    		bmi = self.weight / self.high ** 2
    
    		if bmi < 18.5:
    			print('%s过轻' % self.name)
    
    		elif bmi >= 18.5 and bmi < 25:
    			print('恭喜%s体重正常!' % self.name)
    
    		elif bmi >= 25 and bmi < 28:
    			print('%s过重' % self.name)
    
    		elif bmi >= 28 and bmi < 32:
    			print('%s肥胖' % self.name)
    
    		elif bmi >= 32 and bmi < 40:
    			print('%s过度肥胖' % self.name)
    
    		else:
    			print('小阔爱,是不是身高或者体重输错了?请重新输入')
    			# return
    		print('bmi指数为:%d' % bmi)
    
    user = Bmi()
    user.bmi_count()
    
    #请输入姓名:xiaoge
     请输入身高:1.74
     请输入体重:74
     欢迎xiaoge使用魅力检测器!
     xiaoge体重正常
     bmi指数为:24
    

    在这里插入图片描述