【Python 19】BMR计算器3.0(字符串分割与格式化输出)

 1.案例描述

基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上。

计算公式:

BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6.8*年龄)+ 66

BMR(女) = (9.6*体重kg) + (1.8*身高cm)-(4.7*年龄)+655

2.0增加功能:根据用户输入BMR参数,计算BMR值,支持持续输入。

3.0增加功能:用户可以在一行输入所有信息,带单位的信息输出。

2.字符串操作补充

(1)字符串分割(转换为list类型),str.split()  

'1,2,3'.split(',')  => ['1', '2', '3']

(2)格式化输出,使用{}占位,str.format()

"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'

 "{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'

3.上机实验

"""
    作者:梁斌
    功能:BMR计算器
    版本:3.0
    日期:04/08/2017
    3.0 增加功能:用户可以在一行输入所有信息,带单位的信息输出
"""

def main():
    """
        主函数
    """
    y_or_n = 'n'

    while y_or_n != 'y':    
        print('请输入以下信息,用空格分割')
        input_str = input('性别 体重(kg) 身高(cm) 年龄:')
        str_list = input_str.split(' ')
        gender = str_list[0]
        weight = float(str_list[1])
        height = float(str_list[2])
        age = int(str_list[3])

        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('您的性别:{},体重:{}公斤,身高:{}厘米,年龄:{}岁'.format(gender, weight, height, age))
            print('您的基础代谢率:{}大卡'.format(bmr))
        else:
            print('暂不支持该性别')

        print()  # 输出空行
        y_or_n = input('是否退出程序(y/n)?')


if __name__ == '__main__':
    main()
原文地址:https://www.cnblogs.com/badboy200800/p/10604752.html