python-2-def函数算个人BMI值并判断胖瘦

学习内容:

def函数算个人BMI值并判断胖瘦?对比如何简化代码?题目如下

自己写的代码:

def calculate_BMI(height,weight):
   calculate_BMI =weight / (height **2)
   print(calculate_BMI)
   return(calculate_BMI)

   
weight = float(input("请输入您的体重?(单位:kg)"))
print (weight,"kg")
height = float(input("请输入您的身高?(单位:m)"))
print (height,"m")
if calculate_BMI(height,weight) <= 18.5 :
   print ('您的BMI分类是:偏瘦')
   print (calculate_BMI)
elif 18.5 <calculate_BMI(height,weight) <= 25 :
   print ('您的BMI分类是:正常')
   print (calculate_BMI)
elif 25 <calculate_BMI(height,weight) <= 30 :
   print ('您的BMI分类是:偏胖')
   print (calculate_BMI)
elif calculate_BMI(height,weight) > 30 :
   print ('您的BMI分类是:肥胖')
   print (calculate_BMI)

我自己写的时候各种问题:

  • #第一次出现这个<function calculate_BMI at 0x00000243A2EDF708>,是因为我的bmi可能除不尽,没有限制浮点数后两位,但我不太记得清楚这个浮点数的怎么用了
  • #研究了"{:.2f}".format() 似乎是以前学过,这个找了好久没找到,也是有点无语子,最后没用上
  • #第一次把weight 和height的拼写弄错了,查了很久
  • #在if后的冒号必须是英文符号,中文冒号会报错
  • #学习了在options里面选择size是调整页面中的字大小
  • #怎么换行啊这个idle的输入界面 我无语了,还有就是每次中英文切换,都会跳出一个搜索的东西,不知道是啥
  • #查找错误才是最费时间的,如果一开始写错要改真的是最麻烦最难的,而且有些细节不会的话,网上找感觉找不到合适的处理方法orz(这个写文章怎么没有表情包啊T_T)

接下来看看标答吧!!!

def calculate_BMI(height,weight):
      BMI =weight / height **2
      if BMI <= 18.5 :
         category = '偏瘦' 
      elif BMI <= 25 :
         category = '正常'
      elif BMI <= 30:
         category = '偏胖'
      else:
         category = '肥胖'
      print(f'您的BMI分类为:{category}')
      return BMI
calculate_BMI(1.8,70)
result = calculate_BMI(1.8,70)
print(result)

对照标答的时候我自己整理了一下我的问题,共勉

调用函数、返回值、赋值、函数包括的不止是计算公式,还有比较——这些理念都很好

标答就是更简单了,看着清爽了很多,有些思考也很重要,值得学习

def calculate_BMI(height,weight):
      BMI =weight / height **2#1平方的运算没有括号;2公式BMI和函数名区分
      if BMI <= 18.5 :#这个if缩进了,我没有
         categoty = '偏瘦' #赋值新类别
      elif BMI <= 25 :#小于的部分可以省略,因为上一分支包括了
         categoty = '正常'
      elif BMI <= 30:#同上!
         categoty = '偏胖'
      else:
         categoty = '肥胖'#到这里我的category全部打错,抄错了!!!粗心
      print(f'您的BMI分类为:{category}')#f""用法我没掌握好,f"引号内加文字{花括号里放变量}",规则真的好烦躁,麻烦
      return BMI#这个时候才是函数结束??我只把公式理解为函数了?她好像是把比较也算在函数里

calculate_BMI(70,1.8)#调用函数和测试,我没有这个概念,我以为我空行的位置后就是调用函数了。
result = calculate_BMI(70,1.8)#用变量来展示结果,赋值为函数的返回值!!!这个概念
print(result)

  • 17
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值