- 这个 示例是进行BMR计算,主要是获取用户的输入数据,对获取的数据进行分隔,然后进行字符转换进行求解
- 本示例涉及知识点:
①整数、浮点数、数值运算
②if-else语句、while语句、input语句
③字符分割、格式化输出信息
④用户异常处理
"""
日期:12.29.2019
"""
def main():
"""
主函数
"""
y_or_n = input('是否退出程序(y/n)?')
while y_or_n != 'y':
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 = 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) + 655
else:
bmr = -1
if bmr != -1:
print('您的性别{},体重:{}kg,身高:{}厘米,年龄:{}岁'.format(gender, weight, height, age))
print('基础代谢率:{}大卡'.format(bmr))
else:
print('暂不支持该性别')
except ValueError:
print('请输入正确信息!')
except IndexError:
print('输入信息过少!')
except:
print('程序异常!')
print('***************************************************')
y_or_n = input('是否退出程序(y/n)?')
if __name__ == '__main__':
main()