截图:
代码:
"""
功能: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()