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

上一讲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厘米

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值