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()

  • 相关阅读:
    【转】js 获取浏览器高度和宽度值(多浏览器)
    Css相册
    微信公众号开发笔记2-自定义菜单
    微信公众号开发笔记1-获取Access Token
    【转】CSS选择器笔记
    【转】CSS浮动(float,clear)通俗讲解
    高云的jQuery源码分析笔记
    经典闭包例子详解
    执行控制——节流模式
    图片上下左右的无缝滚动的实现
  • 原文地址:https://www.cnblogs.com/lanzhiyuan/p/8442876.html
Copyright © 2011-2022 走看看