python平均成绩计算异常处理_【Python 20】BMR计算器4.0(异常处理)

1.案例描述

基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上。

计算公式:

BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6.8*年龄)+ 66

BMR(女) = (9.6*体重kg) + (1.8*身高cm)-(4.7*年龄)+655

2.0增加功能:根据用户输入BMR参数,计算BMR值,支持持续输入。

3.0增加功能:用户可以在一行输入所有信息,带单位的信息输出。

4.0增加功能:处理异常操作

2.案例分析

引入异常处理机制,来解决程序运行时的错误。

try:

except:

except:

except:

先执行try,存在异常则选择一个最匹配的except执行对应的处理语句,无异常则直接执行try-except后边语句。

最常见的except类型是IndexError(索引错误),KeyError(键错误),ValueError(值错误),TypeError 传入对象类型与要求的不符合。常见异常汇总参考

3.上机实验

"""

作者:梁斌

功能:BMR计算器

版本:4.0

日期:04/08/2017

3.0 增加功能:用户可以在一行输入所有信息,带单位的信息输出

4.0 增加功能:处理异常操作

"""

def main():

"""

主函数

"""

y_or_n = input('是否退出程序(y/n)?')

while y_or_n != 'y':

# # 性别

# gender = input('性别:')

# # print(type(gender))

#

# # 体重 (kg)

# weight = float(input('体重(kg):'))

# # print(type(weight))

#

# # 身高 (cm)

# height = float(input('身高(cm):'))

# # print(type(height))

#

# # 年龄

# age = int(input('年龄:'))

# # print(type(age))

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('暂不支持该性别')

except ValueError:

print('请输入正确的信息!')

except IndexError:

print('输入的信息过少!')

except:

print('程序异常!')

print() # 输出空行

y_or_n = input('是否退出程序(y/n)?')

if __name__ == '__main__':

main()

参考文档:

标签:20,4.0,Python,gender,except,BMR,str,print,input

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值