Python的学习笔记案例3--基础代谢率计算3.0

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lanxingbudui/article/details/88071641

上一讲v2.0通过用户输入参数,计算BMR,但是每一个参数都是先提示了再输入。现在用户想在一行中将参数全部输入完,点击执行立刻可以得到计算结果。

那么,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厘米

猜你喜欢

转载自blog.csdn.net/lanxingbudui/article/details/88071641
今日推荐