Python的听课笔记案例3--身体代谢率统计3.0

原创
小哥 3年前 (2022-11-02) 阅读数 10 #大杂烩

上一讲v2.0通过用户输入参数,计算BMR,但在输入之前会提示每个参数。现在,用户希望在一行中输入所有参数,单击Execute可以立即获得计算结果。

那么,v3.0解决了单位单行输入参数和友好信息输出的问题。

"""
    作者:lanxingbudui
    功能:BMR计算器
    版本:3.0
    日期:20190302
    新增功能:根据用户输入计算BMR;程序连续运行
    新功能:用户可以在一行中输入所有信息,并以单位输出信息
"""

def main():
    """
        主函数
    """
    y_or_n = input(是否退出程序(y/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(您的性别:{},体重:{}kg,身高:{}cm,年龄:{}岁.format(gender, weight, height, age))
            print(你的基础代谢率BMR:{} 大卡.format(bmr))
        else:
            print(这个版本暂时不支持性别改变!)
        print()
        y_or_n = input(是否退出程序(y/n)?)

if __name__ == __main__:
    main()

说明1:如何分割一行字符串并将其分配给不同的参数,使用str.split()和str[]

说明2:输出结果时,会为输出设置结果字符串的格式。,使用{}占位。

str.format()    如:‘{}公斤,{}厘米’.format(70, 175)

重复输出时可以使用数字标签:‘{0}公斤,{1}厘米,{1}厘米’.format(70, 175)

结果是:70公斤,175厘米,175厘米

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除