#简单写个函数,计算BMI def fun_bmi (name,height,weight): ''' 计算BMI :param name: 姓名 :param height: 身高 :param weight: 体重 :return: none ''' bmi = weight/2/(height*height) #BMI公式 #print (name,'身高:',height,"体重:",weight,',对应BMI为:',bmi, end=',') #bmi结果过长 print (name,'身高:',height,"体重:",weight,',对应BMI为:%.2f' %bmi, end=',') #BMI2位小数显示出来,且end=','表示不换行,以,结束 if bmi >= 29.9: print (name+"该减肥了~") elif bmi >= 24.9: print(name+"尚可,但在演艺圈的话可以瘦一些~") elif bmi >= 18.5: print(name+"在普通人中是健康的,是否要再瘦些看本人意愿~") elif bmi > 18: print(name+"在贵圈中很标准,也勉强算健康哟") elif bmi > 17.9: print(name+"太瘦啦,想说:健康最重要啊") else: print(name + ",这身体是有病呀,啥也别说了,增肥吧= _ =!") fun_bmi("肖战",1.83,120) fun_bmi('一博',1.79,120) fun_bmi('蓝大',1.85,150) fun_bmi('哪吒的师父:太乙真人',1.70,200) fun_bmi('敖丙的师父:申公豹',1.79,110)
结果:
肖战 身高: 1.83 体重: 120 ,对应BMI为:17.92,肖战太瘦啦,想说:健康最重要啊 一博 身高: 1.79 体重: 120 ,对应BMI为:18.73,一博在普通人中是健康的,是否要再瘦些看本人意愿~ 蓝大 身高: 1.85 体重: 150 ,对应BMI为:21.91,蓝大在普通人中是健康的,是否要再瘦些看本人意愿~ 哪吒的师父:太乙真人 身高: 1.7 体重: 200 ,对应BMI为:34.60,哪吒的师父:太乙真人该减肥了~ 敖丙的师父:申公豹 身高: 1.79 体重: 110 ,对应BMI为:17.17,敖丙的师父:申公豹,这身体是有病呀,啥也别说了,增肥吧= _ =!
函数2:
#上面调用的时候会很费劲,因为要调用多次,所以相同的函数内容,用可变参数会简单些 print ('\n','*'*20,'使用可变参数输出','*'*20) def fun_bmi_upgrade (*list): ''' 计算BMI :param name: 姓名 :param height: 身高,米 :param weight: 体重,kg :return: none ''' for information in list: for item in information: name = item[0] height = item[1] weight = item[2] bmi = weight/(height*height) #BMI公式 print (name,'身高:',height,"体重:",weight,',对应BMI为:%.2f' %bmi, end=',') #BMI2位小数显示出来,且end=','表示不换行,以,结束 if bmi >= 29.9: print (name+"该减肥了~") elif bmi >= 24.9: print(name+"尚可,但在演艺圈的话可以瘦一些~") elif bmi >= 18.5: print(name+"在普通人中是健康的,是否要再瘦些看本人意愿~") elif bmi > 18: print(name+"在贵圈中很标准,也勉强算健康哟") elif bmi > 17.9: print(name+"太瘦啦,想说:健康最重要啊") else: print(name + ",这身体是有病呀,啥也别说了,增肥吧= _ =!") list_cql = [["肖战",1.83,60],['一博',1.79,60],['蓝大',1.85,75]] list_nz = [('哪吒的师父:太乙真人',1.70,100),('敖丙的师父:申公豹',1.79,55)] fun_bmi_upgrade(list_cql,list_nz)
结果2:
******************** 使用可变参数输出 ******************** 肖战 身高: 1.83 体重: 60 ,对应BMI为:17.92,肖战太瘦啦,想说:健康最重要啊 一博 身高: 1.79 体重: 60 ,对应BMI为:18.73,一博在普通人中是健康的,是否要再瘦些看本人意愿~ 蓝大 身高: 1.85 体重: 75 ,对应BMI为:21.91,蓝大在普通人中是健康的,是否要再瘦些看本人意愿~ 哪吒的师父:太乙真人 身高: 1.7 体重: 100 ,对应BMI为:34.60,哪吒的师父:太乙真人该减肥了~ 敖丙的师父:申公豹 身高: 1.79 体重: 55 ,对应BMI为:17.17,敖丙的师父:申公豹,这身体是有病呀,啥也别说了,增肥吧= _ =!
函数3
#学习调用函数中的返回值 print ('\n','*'*30,'调用返回值','*'*30) def bmi(bmi): #定义bmi比较的函数 bmi = float(bmi) if bmi >= 29.9: print (name + "该减肥了~") elif bmi >= 24.9: print(name + "尚可,但在演艺圈的话可以瘦一些~") elif bmi >= 18.5: print(name + "在普通人中是健康的,是否要再瘦些看本人意愿~") elif bmi > 18: print(name + "在贵圈中很标准,也勉强算健康哟") elif bmi > 17.9: print(name + "太瘦啦,想说:健康最重要啊") else: print(name + ",这身体是有病呀,啥也别说了,增肥吧= _ =!") def fun_bmi_upgrade2 (list): #定义计算bmi的函数 ''' 计算BMI :param name: 姓名 :param height: 身高,米 :param weight: 体重,kg :return: bmi ''' import math global name name = list[0] height = list[1] weight = list[2] bmi1 = weight/(height*height) bmi = '{:.2f}'.format(bmi1) #BMI公式 print (name,'身高:',height,"体重:",weight,',对应BMI为:',bmi, end=',') #BMI2位小数显示出来,且end=','表示不换行,以,结束 return (bmi) def fun_bmilist(*lists): #定义循环多个列表的列表的函数 for listn in lists: for list in listn: bmi2 = fun_bmi_upgrade2 (list) #取值bmi bmi(bmi2) #通过bmi调用bmi比较函数 list_cql = [["肖战",1.83,60],['一博',1.79,60],['蓝大',1.85,75]] list_nz = [('哪吒的师父:太乙真人',1.70,100),('敖丙的师父:申公豹',1.79,55)] print ('='*30,'调用多个列表的列表','='*30) fun_bmilist(list_cql,list_nz) print ('='*30,'调用多个列表','='*30) fun_bmilist(list_cql) print ('='*30,'调用1个列表','='*30) fun_bmi_upgrade2 (["肖战",1.83,60])
结果3
****************************** 调用返回值 ****************************** ============================== 调用多个列表的列表 ============================== 肖战 身高: 1.83 体重: 60 ,对应BMI为: 17.92,肖战太瘦啦,想说:健康最重要啊 一博 身高: 1.79 体重: 60 ,对应BMI为: 18.73,一博在普通人中是健康的,是否要再瘦些看本人意愿~ 蓝大 身高: 1.85 体重: 75 ,对应BMI为: 21.91,蓝大在普通人中是健康的,是否要再瘦些看本人意愿~ 哪吒的师父:太乙真人 身高: 1.7 体重: 100 ,对应BMI为: 34.60,哪吒的师父:太乙真人该减肥了~ 敖丙的师父:申公豹 身高: 1.79 体重: 55 ,对应BMI为: 17.17,敖丙的师父:申公豹,这身体是有病呀,啥也别说了,增肥吧= _ =! ============================== 调用多个列表 ============================== 肖战 身高: 1.83 体重: 60 ,对应BMI为: 17.92,肖战太瘦啦,想说:健康最重要啊 一博 身高: 1.79 体重: 60 ,对应BMI为: 18.73,一博在普通人中是健康的,是否要再瘦些看本人意愿~ 蓝大 身高: 1.85 体重: 75 ,对应BMI为: 21.91,蓝大在普通人中是健康的,是否要再瘦些看本人意愿~ ============================== 调用1个列表 ============================== 肖战 身高: 1.83 体重: 60 ,对应BMI为: 17.92, Process finished with exit code 0