python 入门学习教程笔记-- BMR 计算器

本讲内容涉及到的知识点有:

1.数值类型:

2.字符串分割,字符串格式化输出,使用{}占位

https://docs.python.org/3/library/stdtypes.html#str.split

4.处理异常操作

 

lesson1

"""
    作者:梁斌
    功能:BMR计算器
    版本:1.0
    日期:04/08/2017
"""


def main():
    """
        主函数
    """
    # 性别
    gender = '男'

    # 体重 (kg)
    weight = 70

    # 身高 (cm)
    height = 175

    # 年龄
    age = 25

    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('基础代谢率(大卡):', bmr)
    else:
        print('暂不支持该性别')


if __name__ == '__main__':
    main()

lesson2

"""
    作者:梁斌
    功能:BMR计算器
    版本:2.0
    日期:04/08/2017
"""


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

    while y_or_n != 'y':
        # 性别
        gender = input('性别:')
        # print(type(gender))

        # 体重 (kg)
        weight = float(input('体重(kg):'))
        # print(type(weight))

        # 身高 (cm)
        height = float(input('身高(cm):'))
        # print(type(height))

        # 年龄
        age = int(input('年龄:'))
        # print(type(age))

        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('基础代谢率(大卡):', bmr)
        else:
            print('暂不支持该性别')

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


if __name__ == '__main__':
    main()

lesson3

 

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


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

    while y_or_n != 'y':
        # # 性别
        # gender = input('性别:')
        # # print(type(gender))
        #
        # # 体重 (kg)
        # weight = float(input('体重(kg):'))
        # # print(type(weight))
        #
        # # 身高 (cm)
        # height = float(input('身高(cm):'))
        # # print(type(height))
        #
        # # 年龄
        # age = int(input('年龄:'))
        # # print(type(age))
        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()

 lesson4:

 

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


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

    while y_or_n != 'y':
        # # 性别
        # gender = input('性别:')
        # # print(type(gender))
        #
        # # 体重 (kg)
        # weight = float(input('体重(kg):'))
        # # print(type(weight))
        #
        # # 身高 (cm)
        # height = float(input('身高(cm):'))
        # # print(type(height))
        #
        # # 年龄
        # age = int(input('年龄:'))
        # # print(type(age))
        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])

            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('暂不支持该性别')
        except ValueError:
            print('请输入正确的信息!')
        except IndexError:
            print('输入的信息过少!')
        except:
            print('程序异常!')

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


if __name__ == '__main__':
    main()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值