zoukankan      html  css  js  c++  java
  • python3练习:简单函数(BMI)

    #简单写个函数,计算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 ('
    ','*'*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 ('
    ','*'*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
  • 相关阅读:
    cocos2d-x项目101次相遇:在HelloWorld上--建立新场景
    MySQL优化之——日志
    Zoj2421 广搜
    GG链路过多port不足导致的报错OGG-01223
    java的InputStream和OutputStream的理解【转】
    JAVA编程规则
    JAVA的String 类
    JAVA的StringBuffer类
    android自带的处理Bitmap out Memory 的处理,我仅仅是改变了些写法成为自己用的东西
    NS3网络仿真(2):first.py
  • 原文地址:https://www.cnblogs.com/jxba/p/11876860.html
Copyright © 2011-2022 走看看