BMR计算器及语法

BMR

基础代谢率(BMR):在安静状态下,消耗的最低热量

BMR(男) = (13.7体重(kg)) - (5.0身高(cm))- (6.8年龄)+66
BMR(女) = (9.6
体重(kg))+(1.8身高(cm))-(4,7年龄)+655

数值类型

整数:100.-20
浮点数:0.0,-3.14.3.4e-3
类型转换
整数–>浮点数,float(4)–>4.0
浮点数–>整数,只保留整数,int(3.14)–>3
字符串–>整数,字符串–>整数,str(4)–>‘4’,str(4.3)–>‘4.3’
整数–>字符串,int(‘4’)(必须保证字符串可以转换为整数或者浮点数),eval(‘2mm’)–>2

type(4)–>float,type函数可以查看任意变量类型

字符串分割

在这里插入图片描述

字符串格式化输出

使用{}占位

print('性别:{},体重:{},身高:{},年龄:{}'.format(gender,weight,height,age))

在这里插入图片描述

异常处理机制

try:
<body …>
except<错误类型>:
<处理错误>

下面是计算BMR的一些基础代码,使用了上面所讲的知识点

'''
    作者:Happy
    功能:BMR计算器
    版本:4.0
    日期:2019/3/11
    新增功能 1 :用户输入,循环输入
    新增功能 2 :使用户可以一行输入,输出带单位
    新增功能 3 :用户不按套路出牌,处理异常操作
'''

def main():
    '''
        主函数
    '''
    y_or_n = input('是否退出程序(y/n)?')

    while y_or_n != 'y':

        print('请输入以下信息:(用逗号分隔)')
        input_str= input('性别,体重(kg),身高(cm),年龄:')
        str_list = input_str.split(',')

        try:
            gender = str_list[0]
            weight = float(str_list[1])
            height = float(str_list[2])
            age = int(str_list[3])

            # gender = (input('输入性别:'))
            # # print(type(gender))
            # weight = float(input('体重(kg):'))
            # height = float(input('身高(cm):'))
            # age = int(input('年龄 :'))

            if gender == '男':
                bmr = 13.7 * weight + 5.0 * height - 6.8 * age + 66
            elif gender == '女':
                bmr = 9.6 * weight + 1.8 * height - 4.7 * age + 655
            else:
                bmr = -1

            if bmr != -1:
                print('性别:{},体重:{}kg,身高:{}cm,年龄:{}'.format(gender, weight, height, age))

                print('基础代谢率:{}大卡'.format(bmr))
            else:
                print('不支持该类型')



        except ValueError:
            print('请输入正确格式信息!')
        except:
            print('程序异常')

        print()  # 当里面什么都不写的时候输出空行
        y_or_n = input('是否退出程序(y/n)?')



if __name__ == '__main__':
    main()

运行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42882887/article/details/88380745