酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

假设成年人的体重和身高存在此种关系:身高(cm)-100=标准体重(kg) 如果一个人的体重与标准体重之差在正负5%之间,就显示“体重正常”,否则显示“体重超标”或者“体重不达标”。编写程序,能处理用户输入的异常,并使用自定义异常类来处理身高小于30cm和大于250cm的异常情况。

以下是使用 Python 实现的代码示例: ```python class InvalidHeightException(Exception): def __init__(self, height): self.height = height self.message = f"输入的身高 {height}cm 不合理,身高应在 30cm 至 250cm 之间。" def check_weight(height, weight): if height < 30 or height > 250: raise InvalidHeightException(height) standard_weight = height - 100 diff = (weight - standard_weight) / standard_weight if -0.05 <= diff <= 0.05: print("体重正常") elif diff > 0.05: print("体重超标") else: print("体重不达标") try: height = int(input("请输入身高(cm): ")) weight = int(input("请输入体重(kg): ")) check_weight(height, weight) except ValueError: print("输入的身高或体重不是有效的整数。") except InvalidHeightException as e: print(e.message) ``` 以下是三个可行的改进建议: 1. 可以添加更多的错误处理情况,例如输入的体重为负数。 2. 可以将计算标准体重和判断体重状态的部分提取为单独的函数,以提高代码的可读性和可维护性。 3. 可以添加对输入的身高和体重的合理性检查,例如身高和体重的数值范围是否合理。 [2024-12-26 15:29:13 | AI写代码神器 | 341点数解答]

相关提问