# -*- coding: utf-8 -*-
"""
作者:宇轩亚40
功能:BMR计算器
"""
def main():
"""
主函数
"""
y_or_n = input('用户是否退出程序(y/n)?')
while y_or_n == 'n':
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('暂不支持该性别', bmr)
except ValueError:
print('请输入正确的信息!')
except ImportError:
print('输入的信息过少!')
except:
print('程序异常!')
print('\n')
y_or_n = input('用户是否退出程序(y/n)?')
if __name__ == '__main__':
main()
运行上述程序,程序运行结果如下所示:
用户是否退出程序(y/n)?n
请输入以下信息,用空格分割
性别 体重(kg) 身高(cm) 年龄男 61 172 24
性别:男,体重:61.0,身高:172.0,年龄:24
基础代谢率:1598.4999999999998(大卡)
用户是否退出程序(y/n)?n
请输入以下信息,用空格分割
性别 体重(kg) 身高(cm) 年龄女 45 160 24
性别:女,体重:45.0,身高:160.0,年龄:24
基础代谢率:1262.2(大卡)
用户是否退出程序(y/n)?y