zoukankan      html  css  js  c++  java
  • BMR计算器2——python第三课(字符串分割,格式化输出,异常处理)

    一、在一行输入所有信息,带单位的信息输出

    (一)、

    1. 字符串分割:str.split()参数为输入时的分隔符
    2. 格式化输出:str.format()例:”{}厘米,{}千克”.format(175,75)  引号后面是点

    {}内可以填写参数位置,如果没有位置信息,按顺序填写,参数可以重复使用

     

    (二)、

    1. 运行结果

     

      2.代码

     

    '''
        作者:兰兰兰
        功能:实现bmr计算器
        版本: 3.0
        日期:02/11/2018
        新增功能:根据用户输入计算BMR,程序持续进行
        新增功能:一次输入所有信息,并带单位输出信息
    '''

    def main():
        '''
            主函数
        '''

        y_or_no = input('是否退出程序(y or n)?')

        while y_or_no != 'y':

            print('请输入一下信息,请用空格分割')
            input_str = input('性别,年龄,身高(cm),体重(kg):')
            str_list = input_str.split(' ')
            gender = str_list[0]
            age = int(str_list[1])
            height = float(str_list[2])
            weight = float(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) + 65
            else:
                BMR = -1
            if BMR != -1:
                print('您的性别:{},身高:{}cm,体重:{}kg,年龄:{}'.format(gender,height,
                                                    weight,age))
                print('基础代谢率:{}(大卡)'.format(BMR))
            else:
                print('暂不支持该性别!')
            print('--------------------分割线--------------------')
            y_or_no = input('是否退出程序(y or n)?')

        else:
            print('程序已退出!')


    if __name__ == '__main__':
        main()

     

     

     

    四、处理异常

    1. 异常处理机制

    try:                        当遇到try语句,先尝试执行包含的代码块

    <body>                 如果没有发生错误,则执行try-except后面的语句

    Except <ErrorType1>:          已知可能错误的错误名

    <handler1>              错误发生后执行的语句

    Except <ErrorType2>:          

    <handler21>   

    Except:                    未知错误

     <handler0>         

    2.运行结果

     

    1. 代码

    '''
        作者:兰兰兰
        功能:实现bmr计算器
        版本: 3.0
        日期:02/11/2018
        新增功能:根据用户输入计算BMR,程序持续进行
        新增功能:一次输入所有信息,并带单位输出信息
        新增功能:处理异常操作
    '''

    def main():
        '''
            主函数
        '''

        y_or_no = input('是否退出程序(y or n)?')

        while y_or_no != 'y':

            print('请输入一下信息,请用空格分割')
            input_str = input('性别,年龄,身高(cm),体重(kg):')
            str_list = input_str.split(' ')

            try:
                gender = str_list[0]
                age = int(str_list[1])
                height = float(str_list[2])
                weight = float(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) + 65
                else:
                    BMR = -1
                if BMR != -1:
                    print('您的性别:{},身高:{}cm,体重:{}kg,年龄:{}'.format(gender,height,
                                                        weight,age))
                    print('基础代谢率:{}(大卡)'.format(BMR))
                else:
                    print('暂不支持该性别!')
            except IndexError:
                print('请输入所有信息!')
            except ValueError:
                print('请输入正确格式的信息!')
            except:
                print('程序异常!')

            print('--------------------分割线--------------------')
            y_or_no = input('是否退出程序(y or n)?')

        else:
            print('程序已退出!')


    if __name__ == '__main__':
        main()

  • 相关阅读:
    数字货币资金费策略
    如何利用CCXT交易数字货币合约
    三分钟玩转微软AI量化投资开源库QLib
    商品期货月度效应的统计
    数字货币无风险收益率又双叒叕扩大了!
    Omega System Trading and Development Club内部分享策略Easylanguage源码 (第二期)
    【mac】安装配置 homebrew, Nginx
    【Typescript+Vue】01. easy
    【python】sudo python -m SimpleHTTPServer
    【windows】docker to vmware
  • 原文地址:https://www.cnblogs.com/lanzhiyuan/p/8442876.html
Copyright © 2011-2022 走看看