python假设成年人的体重和身高存在此种关系: 身高(厘米)-100=标准体重(千克)。 编写程序实现:如果一个人的体重与其标准体重的差值在正负5%之间,显示“体重正常”,体重大于标准体重的5%则显示“体重超标”,体重小于标准体重的5%则显示“体重不达标”。 要求能处理用户输入的异常,并且使用“自定义异常类”来处理身高小于30CM、大于250CM的异常情况。
时间: 2023-11-28 07:49:19 浏览: 106
学生身高和体重的假设检验及python实现.doc
可以使用以下程序实现:
```python
class HeightOutOfRange(Exception):
pass
class WeightOutOfRange(Exception):
pass
try:
height = float(input("请输入身高(厘米):"))
if height < 30 or height > 250:
raise HeightOutOfRange("身高应在30-250之间")
standard_weight = height - 100
weight = float(input("请输入体重(千克):"))
if weight < 0:
raise WeightOutOfRange("体重不能为负数")
diff = weight - standard_weight
if abs(diff) <= standard_weight * 0.05:
print("体重正常")
elif diff > standard_weight * 0.05:
print("体重超标")
else:
print("体重不达标")
except HeightOutOfRange as e:
print(e)
except WeightOutOfRange as e:
print(e)
except ValueError:
print("输入格式错误,请输入数字")
```
首先定义了两个自定义异常类,用于处理身高和体重的异常情况。然后使用try-except语句来捕获可能出现的异常。
在try语句中,首先获取用户输入的身高,如果身高不在范围内,则抛出HeightOutOfRange异常。然后计算标准体重,并获取用户输入的体重,如果体重为负数,则抛出WeightOutOfRange异常。接着计算体重与标准体重的差值,如果差值在正负5%之间,则显示“体重正常”,如果差值大于标准体重的5%,则显示“体重超标”,否则显示“体重不达标”。
在except语句中,分别处理身高和体重的异常情况以及用户输入格式错误的异常情况。
阅读全文