题目为老师课上改编自北理工嵩天老师Python语言设计基础121页 4.7
请用异常处理改造实例5:身体质量指数BMI,使其能够接收并处理用户的任何输入
while True:
try:
height,weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi = weight / pow(height,2)
print("BMI数值为:{:.2f}".format(bmi))
if height > 3:
if h[:-1].isinstance():
print("身高数值为{:.2f}".format(height))
break
elif weight > 150:
if w[:-1].isinstance():
print("体重数值为{:.2f}".format(weight))
break
except NameError:
print("输入错误,请输入正确信息")
else:
print("没有发生异常")
finally:
print("完成")
错误原因为对不可以操作的对象进行了操作
原先错误是height[:-1].isinstance和weight[:-1].isinstance,修改为h和w
请输入身高(米)和体重(公斤)[逗号隔开]:4,85
BMI数值为:5.31
输入错误,请输入正确信息
完成
请输入身高(米)和体重(公斤)[逗号隔开]:1.85,85
BMI数值为:24.84
没有发生异常
完成
请输入身高(米)和体重(公斤)[逗号隔开]:1.85,200
BMI数值为:58.44
输入错误,请输入正确信息
完成
请输入身高(米)和体重(公斤)[逗号隔开]: