08 basal metabolic rate calculation

Screenshot:


Code:

"""
功能:bmr计算
版本:1.0
功能:一次性输入所有信息
     异常处理机制
"""
# -*- coding: utf-8 -*-


def bmr(gender, weight, height, age):
    if gender == '男':
        return 13.7 * weight + 5.0 * height - 6.8 * age + 66
    elif gender == '女':
        return 9.6 * weight + 1.8 * height - 4.78 * age + 655
    else:
        return -1


def main():
    go_on = 'Y'
    while go_on == 'Y':
        print('请输入以下信息,用空格分隔,如:男 70 180 24')
        input_str = input('性别 体重(kg) 身高(cm) 年龄:')
        str_array = input_str.split(' ')
        try:
            gender = str_array[0]
            weight = float(str_array[1])
            height = float(str_array[2])
            age = float(str_array[3])
            f = bmr(gender, weight, height, age)
            if f == -1:
                print("暂不支持该性别!")
            else:
                print("您的性别:{},体重:{},身高:{},年龄:{}".format(gender,weight,height,age))
                print("基础代谢率:{}大卡".format(f))
            print()
        except ValueError:
            print('请输入正确信息!')
        except IndexError:
            print('输入信息不全!')
        except:
            print('程序运行错误!')

        go_on = input('还要继续计算吗(Y/N)?')

    print('程序已结束!')


if __name__ == '__main__':
    main()



 

Guess you like

Origin blog.csdn.net/shmily_syw/article/details/92116290