当设计一款程序由客户去操作输入数据时,可能会存在许多不可控的程序风险
例如:性别输入英文、年龄输入汉字或者缺少输入重要的数据都会导致程序报错甚至崩溃
这里的错误就是由于体重输入汉字导致的程序出现bug,那么如何才能使程序尽可能地趋于稳定和完整化呢?我们需要考虑多种情况
try:
sex = shuju[0]
weight = float(shuju[1])
height = float(shuju[2])
age = int(shuju[3])
if sex == '男':
# 男性
bmr = (13.7 * weight) + (5.0 * height) - (6.8 * age) + 66
# 女性
elif sex == '女':
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
if bmr != -1:
print('您的性别:{},体重: {}KG,身高: {}cm,年龄: {}岁'.format(sex, weight, height, age))
print('您的基础代谢率为:{}大卡'.format(bmr))
else:
print('您输入的有误请重新输入')
except ValueError :
print('请您正确输入!')
except IndexError :
print('请您正确输入!')
except :
print('系统异常,请重新输入')
在这里用到了try-excpet异常处理语句,当输入一串数据之后,程序会判定是否为“合法有效”的,如若不是,会自动输出‘请您正确输入’提醒用户正确的输入信息进行计算,避免了程序异常所带来的麻烦,实现对程序的异常处理。