前面的3班上已经有了BMR在计算之后,这一部分主要解释如何处理异常情况?
以下是异常处理机制:
--引入异常处理机制可用于在程序运行时解决错误。
语法:
try:
except:
except:
except:
当Python遇到try语句,请尝试首先执行。try包含作为可能发生错误的代码块的代码块。
如果没有发生错误,则执行。try-except以下是声明。
如果发生错误,Python查找与错误匹配的异常语句,然后执行相应的。except处理代码的。
"""
作者:lanxingbudui
功能:BMR计算器
版本:4.0
日期:20190303
新增功能:根据用户输入计算BMR;程序连续运行
新功能:用户可以在一行中输入所有信息,并以单位输出信息
新功能:处理异常情况
"""
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 = 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(您的性别:{},体重:{}kg,身高:{}cm,年龄:{}岁.format(gender, weight, height, age))
print(你的基础代谢率BMR:{} 大卡.format(bmr))
else:
print(这个版本暂时不支持性别改变!)
except ValueError:
print(请输入正确的信息!)
except IndexError:
print(输入信息太少!)
except:
print(程序异常!)
print()
y_or_n = input(是否退出程序(y/n)?)
if __name__ == __main__:
main()
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除